我使用 Visual Studio 2017 创建了一个简单的 Web 应用程序。 通过选择下面的模板并提供我的域详细信息后,VS 创建了一个已准备就绪并受 Azure AD 保护的项目。
现在,登录后,我想捕获 Azure AD 身份服务器返回的访问 token 。我想检查 https://jwt.io/ 中的该 token
有什么方法可以在这个框架中插入代码来获取访问 token 吗?
最佳答案
block 引用>Now, after logging in, I want to capture the Access token returned by the Azure AD Identity Server. I want to examine that token in https://jwt.io/
看来您只是想检查
ID token
在 jwt.io 中,ID token 作为 OpenID Connect 流的一部分发送到客户端应用程序,并由客户端用于对用户进行身份验证。请引用文档:ID tokens .访问 token 使客户端能够安全地调用受 Azure 保护的 API。请引用文档:Azure Active Directory access tokens .
对于测试,获取 token 的一种方法是从
OpenIdConnectEvents
之一获取 token 。 :services.Configure<OpenIdConnectOptions>(AzureADDefaults.OpenIdScheme, options => { options.Events = new OpenIdConnectEvents { OnTokenValidated = async ctx => { var Token = ctx.SecurityToken.RawData.ToString(); }, }; });
如果您想获取用于访问受 Azure AD 保护的资源的访问 token ,您应该使用 ADAL (Azure AD V1.0 端点)获取 token ,请参阅代码示例 here 。或者使用MSAL如果您使用的是 Azure AD V2.0 端点。
关于azure - 获取访问 token - ASP Net Core 2.x webapp(工作或学校帐户),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54720918/