2017-07-11 5 views
2

私は動的 '365 CRMオンライン認証のために' adal-angular4 'ライブラリを使用しています。Adal Angular 4は動的に認証できません365 CRM

  • https://github.com/Azure-Samples/active-directory-angularjs-singlepageappに従って晴天のアプリケーションを設定しました。

  • 認証用のコードは、例https://github.com/benbaran/adal-angular4-exampleとほぼ同じです。

  • マイホームコンポーネントモデル:ここで

    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); 
    } 
    

私は正常にトークンとすべてのユーザー情報を取得します。私は、動的365 CRMのための私のトークンを/取得を検証しようとしたときに

しかし、私は常に取得エラー:

"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); 
     }) 

間違っている?私は処分した

+0

を助け、これまでここ紺碧から秘密鍵を提供しないでください。あなたはテナントを提供していますか? – Fals

+0

いいえ、私はそれが義務ではないと思ったテナントを提供しませんでした。 – Milos

+0

「マルチテナント」オプションを「いいえ」に設定すると、1人のテナントしか意味しません。私がそれをよく理解すれば、テナントを指定する必要はありません。 – Milos

答えて

0

this.adalService.acquireToken({アプリケーションID}にthis.adalService.acquireToken(」https://comdynamics365en.crm4.dynamics.com ")

を変更することにより、 "トークン更新操作がタイムアウトにより失敗しました" 「)(アプリケーションIDは、Azureの中にリストされている、全く分からないなぜIDの作品やURIにはありません)

希望これは

+0

ログインの手順は、ログイン時と、あなたの例では、this.adalService.acquireToken(アプリケーションID)を呼び出すと本当にトークンを取得しますが、このトークンはすでに取得しているazureと同じで、そのトークンでCRMに権限を与えることはできません。組織によって、URLによって。 – Milos

関連する問題