Adal Angular 4无法对dynamic 365 CRM进行身份验证
我正在使用“adal-angular4”库对dynamic 365 CRM online进行身份验证Adal Angular 4无法对dynamic 365 CRM进行身份验证,angular,adal,adal.js,Angular,Adal,Adal.js,我正在使用“adal-angular4”库对dynamic 365 CRM online进行身份验证 我根据设置azure应用程序 我的身份验证代码与示例中的代码几乎相同 我的主页组件模型: config: any = { tenant: '', clientId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' }; constructor(private adalService: Adal4Service) { this.adalService.
- 我根据设置azure应用程序
- 我的身份验证代码与示例中的代码几乎相同
- 我的主页组件模型:
config: any = { tenant: '', clientId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' }; constructor(private adalService: Adal4Service) { this.adalService.init(this.config); this.adalService.handleWindowCallback(); // Check if the user is authenticated. If not, call the login() method if (!this.adalService.userInfo.authenticated) { this.adalService.login(); } console.log('token: ' + this.service.userInfo.token); }
"Token renewal operation failed due to timeout"
我获取代币的代码:
this.adalService.acquireToken('https://comdynamics365en.crm4.dynamics.com')
.subscribe(data => {
console.log(data); // never get this
},
error => {
console.log("Error while AcquireToken. Error Info: " + error);
})
我不知道我做错了什么?我通过更改此.adalService.acquireToken(“”)摆脱了“令牌续订操作因超时而失败”
到
this.adalService.acquireToken(“{application ID}”)(应用程序ID列在Azure中,不知道为什么该ID有效,而URI无效)
希望这有帮助永远不要从azure提供私钥。您是否提供租户?不,我没有提供租户,我认为这不是强制性的。我将“多租户”选项设置为“否”,这意味着只有一个租户。如果我理解得很好,我不需要指定租户。我使用单个租户遵循相同的示例代码,并遇到相同的问题。我可以向azure AD fine进行身份验证,但尝试访问带有acquireToken的链接API时,会显示“令牌续订操作因超时而失败”:(登录过程是在登录时首先获取azure令牌,然后使用azure令牌获取CRM令牌。您的示例在调用this.adalService.acquireToken时确实检索令牌(应用程序ID),但此令牌与azure已检索的令牌相同,我无法使用该令牌在CRM中授权。我需要根据我的CRM组织,按URL使用令牌。