C# 如何从访问令牌获取用户详细信息
我下载了这个示例: 我可以得到访问令牌。接下来,我将这个访问令牌保存在数据库中以备将来使用。使用存储在数据库中的这个令牌,我想获得用户的配置文件,但不知道如何做C# 如何从访问令牌获取用户详细信息,c#,asp.net,azure,azure-active-directory,powerbi,C#,Asp.net,Azure,Azure Active Directory,Powerbi,我下载了这个示例: 我可以得到访问令牌。接下来,我将这个访问令牌保存在数据库中以备将来使用。使用存储在数据库中的这个令牌,我想获得用户的配置文件,但不知道如何做 public string GetAccessToken(string authorizationCode, string applicationID, string applicationSecret, string redirectUri) { //Redirect uri must matc
public string GetAccessToken(string authorizationCode, string applicationID, string applicationSecret, string redirectUri)
{
//Redirect uri must match the redirect_uri used when requesting Authorization code.
//Note: If you use a redirect back to Default, as in this sample, you need to add a forward slash
//such as http://localhost:13526/
// Get auth token from auth code
TokenCache TC = new TokenCache();
//Values are hard-coded for sample purposes
string authority = Settings.Default.AADAuthorityUri;
AuthenticationContext AC = new AuthenticationContext(authority, TC);
ClientCredential cc = new ClientCredential(applicationID, applicationSecret);
//Set token from authentication result
return AC.AcquireTokenByAuthorizationCode(
authorizationCode,
new Uri(redirectUri), cc).AccessToken;
}
我检查了AuthenticationContext类的方法,但它没有任何像“GetMe”之类的方法
非常感谢您的帮助。ADAL仅用于身份验证,不用于调用Microsoft Graph API之类的API 您需要为
https://graph.microsoft.com
resource,然后调用端点以获取用户信息:
还有一个SDK可以使调用更容易一些:ADAL仅用于身份验证,而不是用于调用类似Microsoft Graph API的API 您需要为
https://graph.microsoft.com
resource,然后调用端点以获取用户信息:
还有一个SDK可以使调用更容易一些:您可以在C#中使用它。此外,您还可以访问以查看其工作情况。您可以在C#中使用。此外,您还可以访问以查看其工作情况。谢谢。是否有任何方法可以将此访问令牌与Graph API一起使用,或者是否需要其他类型的访问令牌?这是非常令人困惑的。另外,请让我知道ADAL中是否有任何方法可以知道令牌是否有效(可能已过期,或者可能是某人错误地修改了DB中的令牌)?很难说,您可以检查令牌受众(预期目标)的内容,例如(这是aud声明)。只要正确实现令牌缓存,ADAL就可以很好地处理令牌续订(如果它们过期)。不过,验证并不适合您,这是API的工作。看起来很公平。知道如何将令牌缓存保存到SQL server数据库吗?我认为默认情况下,它会保存在内存中。是的,默认情况下会保存在内存中。您可以在这里看到一个SQL令牌缓存示例:谢谢。是否有任何方法可以将此访问令牌与Graph API一起使用,或者是否需要其他类型的访问令牌?这是非常令人困惑的。另外,请让我知道ADAL中是否有任何方法可以知道令牌是否有效(可能已过期,或者可能是某人错误地修改了DB中的令牌)?很难说,您可以检查令牌受众(预期目标)的内容,例如(这是aud声明)。只要正确实现令牌缓存,ADAL就可以很好地处理令牌续订(如果它们过期)。不过,验证并不适合您,这是API的工作。看起来很公平。知道如何将令牌缓存保存到SQL server数据库吗?我认为默认情况下,它会保存在内存中。是的,默认情况下会保存在内存中。您可以在此处看到SQL令牌缓存的示例: