gpt4 book ai didi

security - OpenID Connect - 使用 JWT 使用 REST API 进行身份验证的带有 Javascript 应用程序的隐式流

转载 作者:行者123 更新时间:2023-12-04 23:20:21 28 4
gpt4 key购买 nike

我正在开发一个 Javascript 应用程序 + REST API。

我希望用户通过 OpenID Connect 提供程序对应用程序(和底层 REST API)进行身份验证以用于 SSO。

使用隐式流程,我可以获得一个 ID token (JWT),用于向我的 javascript 应用程序标识用户。我希望我可以在向我的 REST API 的请求中的 Authorize header 中发送这个 JWT 以验证用户。但是,这种方法的问题在于 JWT 的“aud”字段不适用于 REST API 服务器,而是适用于 javascript 应用程序。

这是否意味着隐式流不适合我的用例,还是我遗漏了什么?

最佳答案

隐式流是为不受信任的客户端(例如 JavaScript)设计的,用于获取身份和(可选)访问 token 。

使用 OpenID Connect,您的身份验证请求必须在 response_type 参数中包含 id_token,但它也可以在参数中包含 token 。请参阅规范中的 3.2.2.1 ( http://openid.net/specs/openid-connect-core-1_0.html#ImplicitAuthRequest )

例如

GET /authorize?
response_type=id_token%20token
&client_id=s6BhdRkqt3
&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
&scope=openid%20profile
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj HTTP/1.1
Host: server.example.com

id_token 意味着您将取回您提到的 ID token 。该 token 意味着它还将返回一个访问 token ,这是您用于访问 REST api 的内容。

关于security - OpenID Connect - 使用 JWT 使用 REST API 进行身份验证的带有 Javascript 应用程序的隐式流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28912018/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com