多个提示AzureAD hintAuthAsyncExpo

问题描述

我在这里还是Expo / RN的新手。我正在尝试使用Azure广告在我的应用中实现一些基本身份验证,然后进行Graph API调用。现在,我有一个登录按钮,显示在WelcomeScreen上,但是当用户按下该按钮并登录(通过AzureAd提示符)时,它将带他们回到Welcomescreen,直到再次登录。登录后,其“赞”状态不会被更新或重新评估。我是否缺少使用alertAsync的明显内容?

App.js

export default function App() {

  const [user,setUser] = useState(null);

  WebBrowser.maybeCompleteAuthSession();

  const discovery = useAutoDiscovery(

    "placeholder"

  );

  // Request

  const [request,response,promptAsync] = useAuthRequest(

    {

      clientId: "placeholder",scopes: ["openid","profile","email","offline_access"],// For usage in managed apps using the proxy

      redirectUri: makeRedirectUri({

        // For usage in bare and standalone

        native: "placeholder",}),responseType: ResponseType.Token,},discovery

  );

  const handleLogin = async () => {

    await promptAsync();

    if (response && response.type === "success") {

      var userDecoded = jwtDecode(response.params.access_token);

      setUser({

        accessToken: response.params.access_token,userDetails: userDecoded,});

    }

  };

  return (

    <AuthContext.Provider value={{ user,handleLogin }}>

      <NavigationContainer theme={navigationTheme}>

        {user ? <AppNavigator /> : <AuthNavigator />}

      </NavigationContainer>

    </AuthContext.Provider>

  );

}

(登录按钮在哪里)

WelcomeScreen.js

function WelcomeScreen({ navigation }) {
  const authContext = useContext(AuthContext);
  return (
    <ImageBackground
      style={styles.background}
      source={require("../assets/background.jpg")}
      blurRadius={4}
    >
      <View style={styles.logoContainer}>
        <Image source={require("../assets/lo.png")} />
        <Text style={styles.titleText}>ITS Inventory</Text>
      </View>
      <View style={styles.buttonsContainer}>
        <AppButton
          title={"Login Via Azure"}
          style={styles.loginButton}
          onPress={() => authContext.handleLogin()}
        ></AppButton>
      </View>
    </ImageBackground>
  );
}

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...