如何解决使用 Okta 获取 refresh_token 服务器端 (sessionToken)
我们希望为我们的微服务架构使用我们自己的 httponly 严格 cookie,其中包含访问和刷新令牌。
我们主要使用 OKTA 身份验证 API 通过我们自己的自定义登录页面来登录用户。 我们能够使用 responsetype=token 和 sessionToken 获取授权端点上的 access_token,并将结果重定向为后端端点上的 form_post。
尽管在范围中添加了 offline_access,但我无法检索 refresh_token,即使它在我的 okta 应用程序设置中进行了检查。
我不想使用资源密码流,因为我们更喜欢使用 sessionToken,如果将来需要,它将与多因素一起使用。
我还尝试使用代码流并在我们的后端重定向结果,但由于代码流是客户端,因此返回此错误“当令牌端点身份验证方法为‘NONE’时,需要 PKCE 代码验证程序。”即使我们选择 .NET 应用程序也会出现此错误
我们如何使用 Okta 检索服务器端的 refresh_token?
解决方法
在 https://devforum.okta.com/t/getting-refresh-token-server-side-sessiontoken/12419/3 处回复了您的帖子。
除了使用您的访问令牌直接拨打 /token 外,您还可以查看我们名为 Refresh Token Rotation 的抢先体验功能。如果这有帮助,请告诉我们!
,我能够使用 CODE 流程并从服务器端重定向到授权端点,如下所示:
https://{YOUROKTADOMAIN}/oauth2/default/v1/authorize?client_id={YOURCLIENTID}&response_type=code&scope=openid%20offline_access&response_mode=query&redirect_uri={YOURSERVERSIDEGETURI}&state={Guid.NewGuid()}&sessionToken=来自 Auth API}
此调用将回发到我的同一服务器,因此我可以自己处理令牌并创建自己的 cookie。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。