-->

MS动态:生成刷新令牌对OAuth的(MS Dynamics : Generate Refresh

2019-09-25 23:57发布

我使用的MS动力学的OData API。 在这里,我们使用OAuth认证做

我从文献服用参考: 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。 注册的应用微软的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的核心Web API项目。

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

为了生成我们只使用的applicationID,ResourceUrl(动态资源URL)令牌。

3。 通过不记名令牌的REST 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核心)。 而且,如何才能在refresh_token MS动力学的OAuth。 你有没有其他的方法来访问令牌/刷新令牌?

注意 :我们只允许HTML页面登录的OAuth对话框一次,并存储给定的令牌。 我们可以选择使用同样的道理,生成新的令牌或任何其他方式来刷新令牌(无提示对话框第二次)是在MS动态的OData的Web API的使用。 我使用Asp.net核心Web API项目进行动态的相互作用。

Answer 1:

用法:

AuthenticationResult authenticationResult = authenticationContext.AcquireTokenAsync(ClientConfig.CRMOrgUrl,clientcred)。 结果 ;

参考:

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



文章来源: MS Dynamics : Generate Refresh Token for OAuth