spring-security – 如何使用Postman Authentication帮助程序调用JHipster(Spring)OAuth2 Rest服务器

Postman有Authentication helpers来帮助进行身份验证调用,我正在尝试使用OAuth 2.0 helper调用JHipster使用Spring创建的REST服务器(安全,社交等).

我已经尝试了很多配置,这是屏幕(客户端ID和秘密被屏蔽):

Auth helper Configuration

对于我尝试过的授权URL:

> http://127.0.0.1:8080/oauth/authorize
> http://127.0.0.1:8080/#/login(应用程序的登录路线)

我从收到令牌回到邮递员的距离越近:

Response failed

我不知道为什么这样犯错.也许我错误地设置了回拨网址?我是否需要在服务器或客户端(AngularJS)中执行此操作?

有没有人知道什么是错的?我感谢您的帮助.

最佳答案
JHipster目前设置为使用“密码”oauth2授权类型.帮助程序oauth2帮助程序似乎只能使用“授权代码”和“客户端凭据”授予类型.

你想要做的是首先直接调用应用程序的令牌端点,就像角度应用程序所做的那样
SRC /主/ web应用/脚本/组件/认证/供应商/ auth.oauth2.service.js

POST http://localhost:8080/oauth/token?username=MY_USERNAME&password=MY_PASSWORD&grant_type=password&scope=read%20write

例如,您的用户名和密码分别为“user”和“user”,并且设置了一个标头:

Authorization: Basic AAAAAA

其中AAAAAA是您的(clientId“:”clientSecret) – 所有base64编码.您可以使用https://www.base64encode.org/.例如,如果你的clientId是“jhipsterapp”和你clientSecret是“mySecretOAuthSecret”,用“amhpcHN0ZXJhcHA6bXlTZWNyZXRPQXV0aFNlY3JldA ==”代替AAAAAA,因为这是“jhipsterapp:mySecretOAuthSecret” base64编码.

那应该给你一个access_token.现在点击您的API端点,通过您的标头中的密码请求使用access_token来调用它们,就像这样.

Authorization: Bearer access_token_from_earlier_token_request

更新:如果您正在使用微服务和UAA,请参阅Niel的回答https://stackoverflow.com/a/45549789/1098564

转载注明原文:spring-security – 如何使用Postman Authentication帮助程序调用JHipster(Spring)OAuth2 Rest服务器 - 代码日志