2017-08-31 5 views
1

こんにちは私は以下のコードを使用してAAD b2Cを使用してログインしていますユーザーIDとapsswordsが正しい場合、ログインの詳細を取得せずにlocalhost:4200にリダイレクトしています。コンソールでログをチェックしているときにエラーが表示されていますiframeに 'X-Frame-Options 'を'拒否 'にするのはiframeオプションによるものです。しかし、どのようにこの問題を解決するには、助けてください。Angular2のMSAL: 'X-Frame-Options'が 'deny'に設定されているため、フレームに表示することを拒否しました

import { Injectable } from '@angular/core'; 
import '../../../node_modules/msal/out/msal'; 
/// <reference path="../../../node_modules/msal/out/msal.d.ts" 

@Injectable() 
export class AuthService { 
private applicationConfig: any = { 
     clientID: 'df7cc9df-8073-4017-a108-85869852', 
     authority: "https://login.microsoftonline.com/tfp/mylogintest.onmicrosoft.com//B2C_1_SiUpIn", 
     b2cScopes: ["https://mylogintest.onmicrosoft.com/user.read"], 
     webApi: 'http://localhost:4200', 
    }; 

    private app: any; 

    constructor() { 
     this.app = new Msal.UserAgentApplication(this.applicationConfig.clientID, this.applicationConfig.authority, (errorDesc, token, error, tokenType) => { 
      // callback for login redirect   
     }); 
    } 
    public login() { 
       return this.app.loginPopup(this.applicationConfig.b2cScopes).then(idToken => { 
       this.app.acquireTokenSilent(this.applicationConfig.b2cScopes).then(accessToken => { 
        // updateUI(); 
        console.log(this.app.getUser()); 
       }, error => { 
        this.app.acquireTokenPopup(this.applicationConfig.b2cScopes).then(accessToken => { 
         console.log(this.app.getUser()); 
         // updateUI(); 
        }, error => { 
         console.log("Error acquiring the popup:\n" + error); 
        }); 
       }) 
      }, error => { 
       console.log("Error during login:\n" + error); 
      }); 
    } 

    public logout() { 
     this.app.logout(); 
    } 
    public getToken() { 
     return this.app.acquireTokenSilent(this.applicationConfig.graphScopes) 
      .then(accessToken => { 
       return accessToken; 
      }, error => { 
       return this.app.acquireTokenPopup(this.applicationConfig.graphScopes) 
        .then(accessToken => { 
         return accessToken; 
        }, err => { 
         console.error(err); 
        }); 
      }); 
    } 
} 

答えて

0

私はログイン機能コードとその正常な動作を変更しました。

`public login() { 
    return this.app.loginPopup(this.applicationConfig.graphScopes) 
     .then(idToken => { 
      const user = this.app.getUser(); 
      console.log(user); 
      if (user) { 
       console.log(user); 
       return user; 
      } else { 
       return null; 
      } 
     },() => { 
      return null; 
     });` 
関連する問題