réagirjs – Microsoft Teams React-App SSO ne fonctionne pas sur mobile iOS

réagirjs – Microsoft Teams React-App SSO ne fonctionne pas sur mobile iOS

2023-10-18 04:39:17

Je crée une application de réaction pour les équipes. À l’aide de la boîte à outils des équipes, j’ai ajouté le SSO comme indiqué dans leur doku. Tout fonctionne bien, je peux connecter les utilisateurs et obtenir des accessTokens pour appeler mon BE sécurisé. Mais pour une raison quelconque, le SSO ne fonctionne pas sur les appareils mobiles iOS. Le pop-up semble tout simplement ne pas se charger ou ne résout rien dans une UiRequirredError lors de l’appel de useGraph pour accéder aux informations utilisateur. J’ai essayé de faire des recherches à ce sujet et il semble que ce soit un problème connu bogue pour la bibliothèque teamsfx et il est recommandé d’utiliser OBO pour cette situation à la place, mais je ne sais pas comment procéder, surtout parce que mon BE est sécurisé via App Service et a besoin d’accessTokens pour gérer les demandes. Alors, comment suis-je censé gérer le flux OBO ?

Mon auth-start.html :

    
      
        Login Start Page
        
      
    
       
    

Mon auth-end.html :


  
    Login End Page
    
  

  
  
    
    
  

Voici comment j’appelle useGraph :

    // For usage of useGraph(), please refer to: 
    const { loading, error, data, reload } = useGraph(
        async (graph, teamsfx, scope) => {
            // Call graph api use `graph` instance to get user profile information
            let profileData;
            try {
                profileData = await graph.api("/me").get();
            } catch (error) {
                setError(error)
            }

            //Get initial token to identify if user roles
            const credential = teamsfx.getCredential()
            const accessToken = await credential.getToken(["profile", BE_SCOPE_STRING]);


            const currentUser = new User(profileData.id, profileData.displayName);
            return { profileData, currentUser, accessToken };
        },
        { scope: ["User.Read", BE_SCOPE_STRING, "profile", "User.ReadBasic.All"], teamsfx: teamsfx }
    );

Tout est à peu près tel que défini dans le doku et comme je l’ai dit, cela fonctionne bien partout sauf pour iOS. Cela pourrait-il simplement être un problème avec les bloqueurs de pop-up dans iOS ? Si oui, comment puis-je activer les fenêtres contextuelles dans les équipes Microsoft afin que mon application puisse les utiliser ?



#réagirjs #Microsoft #Teams #ReactApp #SSO #fonctionne #pas #sur #mobile #iOS
1697600424

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.