gpt4 book ai didi

azure - 如何根据access_token获取id_token

转载 作者:行者123 更新时间:2023-12-03 03:15:05 25 4
gpt4 key购买 nike

我们的前端正在登录用户并检索 token 。

我们的中间层是一个 REST-API 应用程序,它将消耗 token 。通过简单地使用

解码 token
 JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler();
JwtSecurityToken jwt = (JwtSecurityToken)tokenHandler.ReadToken(ssToken);

我们没有获得登录用户的正确对象标识符。我们也没有姓名、电子邮件地址等声明,因此我认为这是我们获得的 access_token。

只有access_token时如何获取正确的id_token?

请注意,我们使用的是带有 C# 的第 3 方应用程序,因此我们不是 WEB-API,只是一个简单的类库

最佳答案

请尝试以下操作:

                System.IdentityModel.Tokens.JwtSecurityToken token = new System.IdentityModel.Tokens.JwtSecurityToken(id_token);
var claims = token.Claims;
var userId = claims.FirstOrDefault(c => c.Type == "oid").Value;

我刚刚在我的项目中尝试过,并且能够在声明中获取用户 ID。我的登录 URL 如下所示:

https://login.windows.net/[Azure AD Tenant Id]/oauth2/authorize?response_mode=form_post&response_type=id_token&scope=openid+profile&client_id=[Client ID]&resource=https%3A%2F%2Fgraph.windows.net&redirect_uri=[Redirect Uri]&state=[User State]&nonce=[Some Random nonce]

关于azure - 如何根据access_token获取id_token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29364068/

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