Asp.net 我是否需要像验证令牌一样验证AuthenticationResult的用户信息?
因此,我使用Asp.net 我是否需要像验证令牌一样验证AuthenticationResult的用户信息?,asp.net,jwt,azure-active-directory,single-sign-on,adal,Asp.net,Jwt,Azure Active Directory,Single Sign On,Adal,因此,我使用ADAL库实现Azure目录单点登录到我的应用程序。 我将{“scope”,“openid”}添加到请求url,以便返回id\u令牌。然后检索用户的唯一id以在数据库中查找 AuthenticationContext ac = new AuthenticationContext(MicrosoftAuthBaseURL); ClientCredential clcred = new ClientCredential(MicrosoftAppId, MicrosoftAppSecr
ADAL
库实现Azure目录单点登录到我的应用程序。
我将{“scope”,“openid”}
添加到请求url,以便返回id\u令牌。然后检索用户的唯一id以在数据库中查找
AuthenticationContext ac = new AuthenticationContext(MicrosoftAuthBaseURL);
ClientCredential clcred = new ClientCredential(MicrosoftAppId, MicrosoftAppSecret);
AuthenticationResult acResult = ac.AcquireTokenByAuthorizationCodeAsync(code, new Uri(RedirectURI), clcred).Result;
SignInUser(acResult.UserInfo.UniqueId);
我知道验证访问令牌或id令牌是一种很好的做法,但在我的情况下,这两种令牌都不是直接使用的。我只是检索/使用UniqueId
字段。所以我的问题是,我是否仍然需要在这里进行任何验证,我应该验证什么,库中是否有任何内置的验证方法可以利用?我不喜欢手动输入。在这种情况下,我会说验证不是强制性的,因为您收到来自Azure AD的直接响应令牌。
如果有人可以拦截并替换令牌,那么他们也可以替换应用程序检索的签名密钥。
这意味着他们可以伪造任何他们想要的代币