我创建了一个jhipster单片应用程序(jhipster版本v4.14.2(。我还创建了一个具有以下设置的 Okta Web 应用程序:
- 登录重定向 URI -> http://localhost:8080/login
- 启动登录 URI -> http://localhost:8080
- 为管理员和用户创建组,在默认授权服务器中设置声明,并将其分配给应用程序和我的用户
我更新了我的jhipster应用程序的application.yaml,如下所示:
security:
basic:
enabled: false
oauth2:
client:
access-token-uri: https://dev-779125.oktapreview.com/oauth2/default/v1/token
user-authorization-uri: https://dev-779125.oktapreview.com/oauth2/default/v1/authorize
client-id: ????????
client-secret: ????????
client-authentication-scheme: form
scope: openid profile email
resource:
filter-order: 3
user-info-uri: https://dev-779125.oktapreview.com/oauth2/default/v1/userinfo
token-info-uri: https://dev-779125.oktapreview.com/oauth2/default/v1/introspect
prefer-token-info: false
当我启动应用程序,然后尝试登录时。我确实得到了 Okta 登录页面,但是添加我的凭据后,我总是收到以下错误:
Your request cannot be processed
Sorry, an error has occurred.
Status: Unauthorized (Unauthorized)
Message: Authentication Failed: Could not obtain access token
我遵循了 jhipster 安全文档中的指示,无法使其工作。知道为什么我仍然收到未经授权的错误吗?
这可能与jhipster无关。确保用于访问访问令牌的 URL 正确无误。
您使用的是什么授权类型?
https://developer.okta.com/authentication-guide/implementing-authentication/
我认为错误在这里:
访问令牌 URI:https://dev-779125.oktapreview.com/oauth2/default/v1/token 用户授权 URI:https://dev-779125.oktapreview.com/oauth2/default/v1/authorize
"用户授权 URI"是要求"颁发者 URL"的时髦方式吗?