Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 我是否需要像验证令牌一样验证AuthenticationResult的用户信息?_Asp.net_Jwt_Azure Active Directory_Single Sign On_Adal - Fatal编程技术网

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的直接响应令牌。 如果有人可以拦截并替换令牌,那么他们也可以替换应用程序检索的签名密钥。 这意味着他们可以伪造任何他们想要的代币