Использование пакета MSAL NPM для входа в AzureAD, проблемы с телефоном - PullRequest
0 голосов
/ 30 января 2020

Я использую пакет NPM [MSAL] [1] для входа с Azure AD. На моем компьютере все работает нормально, однако на телефоне вы должны нажать, обновить sh и нажать еще раз. Это очень ненадежно и не удобно для пользователя.

После небольшого исследования кажется, что я мог бы исправить свои проблемы, переключившись с loginPopup на loginRedirect, но я не видел хороших примеров или документации о том, как переключить мой уже работающий код. Кто-нибудь имеет опыт работы с этим и может дать мне подсказку, прежде чем мне придется все переписать?

Спасибо!

   constructor(){
      super();
      this.state = {
        userData: {},
            myMSALObj: new Msal.UserAgentApplication({
              auth: {
                clientId: process.env.REACT_APP_CLIENT_ID, 
                authority: process.env.REACT_APP_AUTHORITY 
              },
              cache: {
                cacheLocation: "localStorage",
                storeAuthStateInCookie: true
              }
            })
      }
    } 
      signIn() {
        var userRead = ["user.read"];
        this.state.myMSALObj.loginPopup(userRead).then( () => {
            this.acquireTokenPopupAndCallMSGraph();
        }).catch( (error) => {
            console.log(error);
        });
      } 

      acquireTokenPopupAndCallMSGraph() {
        var userRead = ["user.read"];
        this.state.myMSALObj.acquireTokenSilent({scopes: userRead}).then( (tokenResponse) => {
            this.callMSGraph('https://graph.microsoft.com/v1.0/me', tokenResponse.accessToken);
          }).catch( error => {
            console.log(error)
          })
      }

  [1]: https://www.npmjs.com/package/msal
...