[Expo Auth] get Auth response (ex: Email) from sign-in with Azure using Expo Authenthication (Bare Workflow)

Please provide the following:

  1. SDK Version: 45
  2. Platforms(Android/iOS/web/all): Android / iOS

=============

DEDENCIES

"expo": "~45.0.0",
"expo-auth-session": "~3.6.1",
"expo-linking": "~3.1.0",

=================

hey, i hope you have a great day!

I’m in the middle of learning Expo Auth using Azure for sign-in to my app, at the moment, i think i have finished the configuration, and i already got the response

but the problem is:

i need to know, what email is user use for sign-in, and the response i got is like:

Response:  Object {
  "authentication": null,
  "error": null,
  "errorCode": null,
  "params": Object {
    "code": "0.AVUAOn_br_87QEeWJE1gRRLp8JZUWAsn4SlMrJ3ARoeW5xiIAAA.AgABAAIAAAD--DLA3VO7QrddgJg7WevrAgDs_wQA9P9Mz5y-YHO_5MJpyMzFGEX_1BO13SPiqBWHReXV06bRMS_YZoPG1GKYsput0mytF0FGtKiT2uD34fvkwvs98ZBtn2z5uQlHmKgaxMmkq5RjVAdzcg_glT1AsqgDFergWoi3FRJavMn8LiSizFhm9MlzhyaXChDN_OMyAu98zmtH4LaIjuGWVhxh5MgGz4QhRD9TIgxRi8npVrDBbpx68-AXVambsavXskwwLWerHDwLb2gufAsuP9O-DH1tY7knMQHrfQJqurl85RTSAtQq-FwKKTnC_4P7NRpmnG1htvmebFoGIXzWN9Wj38WsWMqin2rGYTys0yCV7hPy6YIBanRIR_0WUbyAkzR919l-_pf3o6B_iCkShq9YJPivOWh-ukCjWbApr9pD__UEt0QpQtQNra92GJjE_m7tLpzl-DlvW1bT77Gc9tvlhsh3rU8N-m69WFavYDffxq8WnuESm2eDSTJM6d6pAOWlApcvaeg_dwA14h88gF_yiUw7wq3uREVmmJo9A8TK7gBFJ7JvFZcizMzCrnBpdI8Cw34ya7HJGqthPqhR4W3fz2anF-gUxCzjBuvuevxrxUMX7VpGw9MPga9v7YEjI61V70ILemePB1fbWZ82natxh-2qAzj0mhdtO5JLLpr-nOovKnM4qZUhksPNup317z4jsVUALK_6Z13dzjPgN9V69HwNSlWiYP7vyvF7Tl61rt-8XIhxqRUdf_Mn6wIvkuDEsFYucYZNyNu8oJ4We81YEIhguqs08t3fdZxiunO7M_hRrsIMhCbRSDxx2l18a3XTgDreepEDhwJES_Da20GVhLvSv3u8djryTMY-TwLpF7cejtheQIZbJe3hXXs3SKLQMkS-JxjbiFjrDias45uWubOpuQ1kaHSutq7wa05wdGSYw0OPGguQux0UNwnRAsrNDDD6f57oko1932s28M11GVsUBDOaePoQF3KFtZ90n-rbdxFRHbVli2fDNxQOJPO8qDdSVb_uPuK0609jmP6TxFmbtTWwsvKerZilbiZPdEti45mSsyj9h_ysxd5Mx-Dhwj-5Tang5KxI0ggbiqV0RF4zPsxAucumAOpEJwjxbgubh3rdtLQujVDFNf8HJa1k70cNqPYe0Fe0hpfVxjfKqgWcSEqI8MdFfCJXRXdD8ixzd7LKT-X1vlFdr3FZqn939lY",
    "session_state": "ea378174-d80c-4811-bc1f-adc6b732b863",
    "state": "9xrNttNeAf",
  },
  "type": "success",
  "url": "myapp://login/?code=0.AVUAOn_br_87QEeWJE1gRRLp8JZUWAsn4SlMrJ3ARoeW5xiIAAA.AgABAAIAAAD--DLA3VO7QrddgJg7WevrAgDs_wQA9P9Mz5y-YHO_5MJpyMzFGEX_1BO13SPiqBWHReXV06bRMS_YZoPG1GKYsput0mytF0FGtKiT2uD34fvkwvs98ZBtn2z5uQlHmKgaxMmkq5RjVAdzcg_glT1AsqgDFergWoi3FRJavMn8LiSizFhm9MlzhyaXChDN_OMyAu98zmtH4LaIjuGWVhxh5MgGz4QhRD9TIgxRi8npVrDBbpx68-AXVambsavXskwwLWerHDwLb2gufAsuP9O-DH1tY7knMQHrfQJqurl85RTSAtQq-FwKKTnC_4P7NRpmnG1htvmebFoGIXzWN9Wj38WsWMqin2rGYTys0yCV7hPy6YIBanRIR_0WUbyAkzR919l-_pf3o6B_iCkShq9YJPivOWh-ukCjWbApr9pD__UEt0QpQtQNra92GJjE_m7tLpzl-DlvW1bT77Gc9tvlhsh3rU8N-m69WFavYDffxq8WnuESm2eDSTJM6d6pAOWlApcvaeg_dwA14h88gF_yiUw7wq3uREVmmJo9A8TK7gBFJ7JvFZcizMzCrnBpdI8Cw34ya7HJGqthPqhR4W3fz2anF-gUxCzjBuvuevxrxUMX7VpGw9MPga9v7YEjI61V70ILemePB1fbWZ82natxh-2qAzj0mhdtO5JLLpr-nOovKnM4qZUhksPNup317z4jsVUALK_6Z13dzjPgN9V69HwNSlWiYP7vyvF7Tl61rt-8XIhxqRUdf_Mn6wIvkuDEsFYucYZNyNu8oJ4We81YEIhguqs08t3fdZxiunO7M_hRrsIMhCbRSDxx2l18a3XTgDreepEDhwJES_Da20GVhLvSv3u8djryTMY-TwLpF7cejtheQIZbJe3hXXs3SKLQMkS-JxjbiFjrDias45uWubOpuQ1kaHSutq7wa05wdGSYw0OPGguQux0UNwnRAsrNDDD6f57oko1932s28M11GVsUBDOaePoQF3KFtZ90n-rbdxFRHbVli2fDNxQOJPO8qDdSVb_uPuK0609jmP6TxFmbtTWwsvKerZilbiZPdEti45mSsyj9h_ysxd5Mx-Dhwj-5Tang5KxI0ggbiqV0RF4zPsxAucumAOpEJwjxbgubh3rdtLQujVDFNf8HJa1k70cNqPYe0Fe0hpfVxjfKqgWcSEqI8MdFfCJXRXdD8ixzd7LKT-X1vlFdr3FZqn939lY&state=9xrNttNeAf&session_state=ea378174-d80c-4811-bc1f-adc6b732b863",
}

and this is my code

const discovery = useAutoDiscovery(
    "https://login.microsoftonline.com/xxxx/v2.0"
  );
  // Request
  const [request, response, promptAsync] = useAuthRequest(
    {
      warmAndPrefetchChrome: true,
      clientId: "xxxx",
      scopes: ["Mail.read", "user.Read"],
      additionalParameters: { prompt: "select_account" },
      redirectUri: "myapp://login",
      serviceConfiguration: {
        authorizationEndpoint:
          "https://login.microsoftonline.com/xxxx/oauth2/v2.0/authorize",
        tokenEndpoint:
          "https://login.microsoftonline.com/xxxx/oauth2/v2.0/token",
      },
    },
    discovery
  );
  useEffect(() => {
    if (response) {
      console.log("Response: ", response);
      console.log("Request: ", request);
    }
  }, [response]);

=========================== EDIT ===============================

i already try to get AccessTokenRequest and exchangeCodeAsync, looks like this:

useEffect(() => {
    if (response && "params" in response) {
      try {
        const accessToken = new AuthSession.AccessTokenRequest({
          code: response.params.code,
          clientId: "xxxx",
          redirectUri: "myapp://login",
          scopes: ["openid", "profile", "email", "offline_access"],
          extraParams: {
            code_verifier: request?.codeVerifier ? request.codeVerifier : "",
          },
        });

        console.log("------- Access ----------------");
        console.log(accessToken);
        console.log("-----------------------");
        const responseToken = AuthSession.exchangeCodeAsync(accessToken, {
          tokenEndpoint:
            "https://login.microsoftonline.com/xxxx/oauth2/v2.0/token",
        });
        console.log(JSON.stringify(responseToken, null, 4));
      } catch (error: any) {
        console.log("Err: " + error);
      }
      // console.log(response.params.code);
    }
  }, [response]);

and i still get no email or username
can you help me? please :frowning:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.