MS Dynamics:为OAuth生成刷新令牌

问题描述 投票:1回答:1

我正在使用MS Dynamics的OData api。这里我们使用oauth进行身份验证

我正在参考Ref:https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/developer-guide?view=dynamics-ce-odata-9

https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/connect-customer-engagement-web-services-using-oauth

我正在使用Web Api,所以我们遵循以下参考。

https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/oauth-cross-origin-resource-sharing-connect-single-page-application

我们遵循的步骤:

1.向Microsoft Azure注册了一个应用程序:

参考:https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/walkthrough-register-dynamics-365-app-azure-active-directory

2.使用ADAL.js获取令牌。 - 尝试使用ADAL C#sdk但由于登录窗口的对话框无法弹出到Asp.Net Core Web Api项目中而失败。

参考:https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/connect-customer-engagement-web-services-using-oauth

要生成令牌,我们只使用ApplicationId,ResourceUrl(动态资源URL)。

3.将Bearer令牌传递给其他api。有效。

需要:如果令牌过期,我们必须刷新令牌。我们尝试使用在文档中指定的c#ADAL SDK。

   AuthenticationContext authContext =
                new AuthenticationContext("https://login.windows.net/common/", false);

   AuthenticationResult result = await authContext.AcquireTokenAsync(resource, clientId, new Uri(redirectUrl), new PlatformParameters());

例外:未实现方法或操作。

在Microsoft.IdentityModel.Clients.ActiveDirectory.Internal.Platform.WebUIFactory.CreateAuthenticationDialog(IPlatformParameters参数)

你能指导我们,我们如何在Web Api(Asp.net Core)中刷新令牌。我们如何才能在MS Dynamics OAuth中获得refresh_token。您是否有其他方法来访问令牌/刷新令牌?

注意:我们只允许从html页面登录oauth对话框并存储给定的令牌。我们必须使用相同的令牌来生成新令牌或任何其他方式来刷新令牌(第二次没有提示对话框)以在MS Dynamics OData Web Api中使用。我正在使用Asp.net Core Web API Project来执行动态之间的交互。

azure dynamics-crm microsoft-dynamics dynamics-365 adal.js
1个回答
0
投票

用法:

AuthenticationResult authenticationResult = authenticationContext.AcquireTokenAsync(ClientConfig.CRMOrgUrl,clientcred).Result;

参考:

https://community.dynamics.com/crm/b/gustafscrmblog/archive/2017/09/15/authenticationresult-acquiretoken-deprecated-in-adal-3-x-and-how-to-fix

© www.soinside.com 2019 - 2024. All rights reserved.