JHipster 当前设置为使用“密码”oauth2 授权类型。助手 oauth2 助手似乎只适用于“授权码”和“客户端凭据”授权类型。
您要做的是首先直接调用您的应用程序的令牌端点,就像角度应用程序在 src/main/webapp/scripts/components/auth/provider/auth.oauth2.service.js 中所做的那样
POST http://localhost:8080/oauth/token?username=MY_USERNAME&password=MY_PASSWORD&grant_type=password&scope=read%20write
例如,您的用户名和密码可以分别是“用户”和“用户”,并设置一个标头:
Authorization: Basic AAAAAA
其中 AAAAAA 是您的 (clientId + ":" + clientSecret) - 所有 base64 编码。您可以使用https://www.base64encode.org/。例如,如果您的 clientId 是“jhipsterapp”并且您的 clientSecret 是“mySecretOAuthSecret”,请将 AAAAAA 替换为“amhpcHN0ZXJhcHA6bXlTZWNyZXRPQXV0aFNlY3JldA==”,因为它是“jhipsterapp:mySecretOAuthSecret”base64 编码的。
那应该会返回一个 access_token。现在,通过在您的标头中使用您的密码请求中的 access_token 调用它们来访问您的 API 端点,如下所示。
Authorization: Bearer access_token_from_earlier_token_request
更新:如果您使用微服务和 UAA,请参阅 Niel 的回答https://stackoverflow.com/a/45549789/1098564