如何获得 Dynamics 365 令牌?
How to get Dynamics 365 Token?
我试图获取 Dynamics 365 令牌,但获取令牌的方法是异步的,当我尝试 return 令牌时,我收到了 500 内部服务器错误。还有另一种获取 Dynamics 365 令牌的方法吗?或者如何在控制器的 return 上显示令牌?
我的获取令牌方法:
public static async Task<string> AccessTokenGenerator()
{
string clientId = "myClientId";
string clientSecret = "myClientSecret";
string authority = "https://login.microsoftonline.com/9dfdf489-e992-46ea-9fc7-317dfc206add";
string resourceUrl = "https://devtreinamento.crm2.dynamics.com"; // Org URL
ClientCredential credentials = new ClientCredential(clientId, clientSecret);
var authContext = new Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext(authority);
var result = await authContext.AcquireTokenAsync(resourceUrl, credentials);
return result.AccessToken;
}
我的show token方法:
[Route ("")]
[HttpGet]
public ActionResult showToken()
{
var token = getToken.AccessTokenGenerator();
return Ok(token);
}
将您的“获取”方法更改为 async
和 return 类型为 T ActionResult
的 Task<T>
,然后 await
您对 [=15 的调用=],在您当前的代码中,您正在设置一个等于 async
方法的变量,而不等待 async
方法完成。:
[Route ("")]
[HttpGet]
public async Task<ActionResult> showToken()
{
var token = await getToken.AccessTokenGenerator();
return Ok(token);
}
我试图获取 Dynamics 365 令牌,但获取令牌的方法是异步的,当我尝试 return 令牌时,我收到了 500 内部服务器错误。还有另一种获取 Dynamics 365 令牌的方法吗?或者如何在控制器的 return 上显示令牌?
我的获取令牌方法:
public static async Task<string> AccessTokenGenerator()
{
string clientId = "myClientId";
string clientSecret = "myClientSecret";
string authority = "https://login.microsoftonline.com/9dfdf489-e992-46ea-9fc7-317dfc206add";
string resourceUrl = "https://devtreinamento.crm2.dynamics.com"; // Org URL
ClientCredential credentials = new ClientCredential(clientId, clientSecret);
var authContext = new Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext(authority);
var result = await authContext.AcquireTokenAsync(resourceUrl, credentials);
return result.AccessToken;
}
我的show token方法:
[Route ("")]
[HttpGet]
public ActionResult showToken()
{
var token = getToken.AccessTokenGenerator();
return Ok(token);
}
将您的“获取”方法更改为 async
和 return 类型为 T ActionResult
的 Task<T>
,然后 await
您对 [=15 的调用=],在您当前的代码中,您正在设置一个等于 async
方法的变量,而不等待 async
方法完成。:
[Route ("")]
[HttpGet]
public async Task<ActionResult> showToken()
{
var token = await getToken.AccessTokenGenerator();
return Ok(token);
}