gpt4 book ai didi

asp.net-core - 如何通过 "password"grant_type从identityserver4获取id_token和access_token?

转载 作者:行者123 更新时间:2023-12-02 00:25:33 30 4
gpt4 key购买 nike

我正在尝试使用identityserver4构建身份提供程序应用程序;目前,我正在使用“资源所有者密码凭据”流程,它从 token 端点返回 access_token 和 refresh_token。

从客户端调用TokenEndpoint的代码片段

var tokenClient = new TokenClient(<TokenEndpoint>, <ClientId>, <ClientSecret>);           
var tokenResponse = await tokenClient.RequestResourceOwnerPasswordAsync(<UserName>, <password>, <Scopes>);

我的问题是,如何使用相同的“资源所有者密码凭据”流程获取“id_token”以及“access_token”和“refresh_token”?

最佳答案

How to get "id_token" along with "access_token" and "refresh_token" by using the same "Resource Owner Password Credentials" flow?

你不知道。

在 IdentityServer4 中,资源所有者密码凭据流程仅提供访问 token 。如果您还需要 id token ,请使用授权代码流程、隐式代码流程或混合流程。

                                       access_token   id_token   refresh_token

Resource Owner Password Credentials yes - yes

Authorization Code yes yes yes

Implicit Flow yes yes -

由于您需要所有三种 token 类型,并且您似乎正在使用服务器端代码,因此授权代码流程最适合。 Some kinds of Hybrid Flow也会为你工作。

From the docs :

The OAuth 2.0 resource owner password grant allows a client to send username and password to the token service and get an access token back that represents that user.

From a GitHub issue:

OpenID Connect does not specify the resource owner flow - only interactive logons at the authorization server (like code or implicit flow). So [in other words,] no identity token - only access tokens.

关于asp.net-core - 如何通过 "password"grant_type从identityserver4获取id_token和access_token?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41421160/

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