Clancey / simple_auth

The Simplest way to Authenticate in Flutter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problem to back in app with data after authentication (facebook / azure)

Kiraneki opened this issue · comments

I need help in respect to configure a local redirect String on two APi's (azure and facebook).
Below is a code snippet of how the two variables are configured. How should I proceed with the json data return to my app?

Method to call azure Connection

azureConn() {
    final String clientId = "<some value>";
    final String azureTennant = "<some value>";

    var azureApi = new simpleAuth.AzureADApi(
        "senaiApp",
        clientId,
        "https://login.microsoftonline.com/$azureTennant/oauth2/authorize",
        "https://login.microsoftonline.com/$azureTennant/oauth2/token",
        "https://login.microsoftonline.com/",
        "app://com.flutter.flutter_app/auth");

    return azureApi;
  }

Method for facebook connection

facebookConn() {
    final String idAPP = "<some value>";
    final String accessToken = "<some value>";

    var facebookApi = new simpleAuth.FacebookApi(
        "facebook", idAPP, accessToken, "app://com.flutter.flutter_app/auth");

    return facebookApi;
  }

And in the authentication.dart i call an click button event for each method:

   FacebookSignInButton(
         borderRadius: 15.0,
         onPressed: () {
                auth.login(auth.facebookConn(), context);         
           },),
   MicrosoftSignInButton(onPressed: () {
      auth.login(auth.azureConn(), context);
    },)

The login method linked to the auth object is analogous to the login function in simple_auth package example.

Update: I tested the authentication with Google api, with same base structure in example readme and run perfectly (login and logout). After work some time in azure api, i got the id token information, scopes and azure identifier into a json. But the key userData bring to me empty information.
I was talk with the azure admin of my company and the necessary permissions have already be delagated (scopes: profile, user.read and mail.read).

Authentication return json:

{ identifier: azure, 
userData: { }, 
idToken: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiI3YzM0ZWVjYy1iMDhhLTRlM2QtOGFmZC1hMzE0Nzc0YWQyZmMiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC80MTQ4YTZkZS0wZGQxLTRkMDQtYTRjNS03OGUzNzRlNGY2ZDYvIiwiaWF0IjoxNTg1NTkwODkyLCJuYmYiOjE1ODU1OTA4OTIsImV4cCI6MTU4NTU5NDc5MiwiYW1yIjpbInB3ZCJdLCJmYW1pbHlfbmFtZSI6IkNvc3RhIiwiZ2l2ZW5fbmFtZSI6IlJhcGhhZWwiLCJpcGFkZHIiOiIxODkuNDcuMzMuMTA3IiwibmFtZSI6IlJhcGhhZWwgRGF2aXMgZGUgT2xpdmVpcmEgQ29zdGEiLCJvaWQiOiJmNGE2NTViMS1kODMzLTQzYzgtYWI0Yi1iZjZiYmJkN2EyZGMiLCJvbnByZW1fc2lkIjoiUy0xLTUtMjEtMzQ2NzMxMzkwNy0xMjEzODA2OTYwLTIxNzQwNjg3NzQtMzc3MjY3Iiwic3ViIjoiOXB3d21EcEI1MWJqSnRCVnFDX0wtenFiVjJ3UXdKVkMyOGFVSWxTclNMayIsInRpZCI6IjQxNDhhNmRlLTBkZDEtNGQwNC1hNGM1LTc4ZTM3NGU0ZjZkNiIsInVuaXF1ZV9uYW1lIjoicmFwaGFlbC5kYXZpc0BzcC5zZW5haS5iciIsInVwbiI6InJhcGhhZWwuZGF2aXNAc3Auc2VuYWkuYnIiLCJ1dGkiOiJzODFQT1VZZGtVR1V6U1RGV1NBZkFBIiwidmVyIjoiMS4wIn0.gqTAUWr9qc1xWC1jpkqIWdQG_T0tNe5PTNwPFfHcfJ_sVFw46XXJjH_Dp7klgFcwSYD1B4WpuGSRKxA0rwXjSne0hze1N9MPa4fcrE5G9P3odUGMV6-Uni6CQR6cMxFzBlLqNfWno1w4WXdG-LJLz5EgaFbL10ZmJhyvNXTou-aDDZyLxnFErXo31zTuA3LkzTqO8SqVfWCKGL3OWPBsvYEUKouW3hOz9X_UA4s-Ho_5REg0Ta_T35G-BdvVJ51FyGqeUT2zo4IrJ4SeUwjNDh3VKJ3hPH_OfxS7Ooya8Ruh8-suvgJSPnRXRdUzvBkBeNg75xmkrggkWeYoTlZURA, 
token: eyJ0eXAiOiJKV1QiLCJub25jZSI6InZ2bkxDYldtS1M1MXFYOUV5YnRSM0trc0pUbVdEREpVT01mMDdlbkRSWUUiLCJhbGciOiJSUzI1NiIsIng1dCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiJodHRwczovL2dyYXBoLm1pY3Jvc29mdC5jb20vIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNDE0OGE2ZGUtMGRkMS00ZDA0LWE0YzUtNzhlMzc0ZTRmNmQ2LyIsImlhdCI6MTU4NTU5MDg5MiwibmJmIjoxNTg1NTkwODkyLCJleHAiOjE1ODU1OTQ3OTIsImFjY3QiOjAsImFjciI6IjEiLCJhaW8iOiJBU1FBMi84UEFBQUE2MXZESjNtMXBpelJMcVM3N0NuMThvaGVORzZhZmFHS0dLck92UGlsUjRZPSIsImFtciI6WyJwd2QiXSwiYXBwX2Rpc3BsYXluYW1lIjoiU2VuYWlBcHAiLCJhcHBpZCI6IjdjMzRlZWNjLWIwOGEtNGUzZC04YWZkLWEzMTQ3NzRhZDJmYyIsImFwcGlkYWNyIjoiMSIsImZhbWlseV9uYW1lIjoiQ29zdGEiLCJnaXZlbl9uYW1lIjoiUmFwaGFlbCIsImlwYWRkciI6IjE4OS40Ny4zMy4xMDciLCJuYW1lIjoiUmFwaGFlbCBEYXZpcyBkZSBPbGl2ZWlyYSBDb3N0YSIsIm9pZCI6ImY0YTY1NWIxLWQ4MzMtNDNjOC1hYjRiLWJmNmJiYmQ3YTJkYyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0zNDY3MzEzOTA3LTEyMTM4MDY5NjAtMjE3NDA2ODc3NC0zNzcyNjciLCJwbGF0ZiI6IjEiLCJwdWlkIjoiMTAwMzIwMDA5OTZEMDg4NSIsInNjcCI6Ik1haWwuUmVhZCBwcm9maWxlIFVzZXIuUmVhZCIsInN1YiI6Inp5M3VaWVJCekxnbU5aWnFHc3QxWFFaWE5NU05iU2dmU1NjQmVra0JncTgiLCJ0aWQiOiI0MTQ4YTZkZS0wZGQxLTRkMDQtYTRjNS03OGUzNzRlNGY2ZDYiLCJ1bmlxdWVfbmFtZSI6InJhcGhhZWwuZGF2aXNAc3Auc2VuYWkuYnIiLCJ1cG4iOiJyYXBoYWVsLmRhdmlzQHNwLnNlbmFpLmJyIiwidXRpIjoiczgxUE9VWWRrVUdVelNURldTQWZBQSIsInZlciI6IjEuMCIsInhtc190Y2R0IjoxMzk1Njk1NzY5fQ.JsU5b6R3ky_VhIPK_M8_r4hlBmgbB0I-whq3qSqDLpH04C6tfwQLwBYIo5WSQouHnDnkqF0DaXjaWwUtjzgUE6mCkViZDYRXgPaWjwmmFAz6ppxgmJEEARVoSEtlQ86vbvDRkawtbJKVf1CViairSYhL9NN-OiZRGPKKzvNC2iK0786PdgPyoqlrPKbm5b0ueIeEdLAcdi3IiuXm_Zr1lu-ZEVDe5x1GZat5o2ccHSmOVuFv-UEq7IDw0ozN9oKujEDahsDUzZw-eU2U4svo52_l5yDATjdIX764KhSgZhqFeolnqPEgn83PJGR5MaG_DRislJowsEAu6TFAiuH9eA, 
created: 2020-03-30T17:59:52.720686Z, 
expiresIn: 3599, 
refreshToken: AQABAAAAAAAm-06blBE1TpVMil8KPQ41CqjAIHQT4Ml3VVAROHmWLBIJuJmSLuA-qzkTSfs3hTUrGdJcWiSz-wtXb5HUDrd11YmYMMEae1Dt6NNvVatzKGao_zgl3qxN-RUNkUy-aFmpfkhXucQyWH63pagtFkyFhKsVol5ObMJMFFgRs12VVyOphjtDh46wwJO3LUyDEktb0Vw8b-SqMBCJw5jOF8orgfFJlvXrevBF6-X5eGe30IMrwPsZ9-d9HL3zL8c3LrqqI3C9DvAUyc9l8omlqCMOqkkugIIB1A9qGjD_ZsHMGacwOBfpOFbVCFW_WZTszIdBI2AxAEKFK3RG7eiy0kGcbUR7abHTCnxgNspZf3vQ79jlkUv-hgPDos4zDPLFZioP9V1gFSsG00ASa5hXy2dg79zfDEWQ-easDrBKlhOr9WBN4zyzPNjhy5qYPO_IJF5oUm4XemTSicYx_tz4VwVvxUdu1bxkTpRDZyEKZtnOz3F6EqH3vBci1LKD1MlKxgKch8xna1EZ2U8tyP1VGYflWzdmVIWQula0y6ybCJNT62XXE-o7AvRZ9JbnTcHgGYP2KIlgN_91CEs-P3_9T_MZameR9ayE6YU8ydwmK6CmR-eyjcjFdwSveepuDSCHBoeY7LqvTU51NQTjWD1yEfGS_FYEZBiCo7dyQVzVfmV4NYqhnm0HOLTaFkKd5uPzJf-J0xARO3d_flSEzsXglYM7iSuN9nPAl9qapZG6BrTNz8SYSC0_ZPBCA2W-4qCmS1Lb4u3Y_zgZyz6xQ3uhNnA4uVpp0Id9Tw7LJdGXLYF8fS19-63gw_d2JwYJRKWz6gqaMXtQvuG0lXzJdPho5iLm8R9EktWbYWODg9XLlEjNxFfj_9os7Yj4n41eJXk2dGatgLbF2y90mLgKK0_doYUcsmmeImG2yyBW7NLjkaJEbiAA, 
scope: [https://graph.microsoft.com/profile, https://graph.microsoft.com/User.Read, https://graph.microsoft.com/Mail.Read, https://graph.microsoft.com/email, https://graph.microsoft.com/openid, https://graph.microsoft.com/offline_access], 
tokenType: Bearer}

I solved this issue creating a separated class for GET requests from Windows Azure server depending of all scopes enabled to use (user profile, email, etc).