Innim / flutter_login_facebook

Flutter Plugin to login via Facebook.
BSD 3-Clause "New" or "Revised" License
72 stars 60 forks source link

Limited, but no authenticationToken #112

Open newloopadmin opened 3 months ago

newloopadmin commented 3 months ago

I've set up android and iOS and it works fine on android. On iOS I get an response that I do not understand:

flutter: [FB] Result: {error: null, status: Success, accessToken: {expires: 64092211200000, token: 6bWBFf4P6z4mMwyXUpuvr6tKvlBQNDYnjnkTDDyDkqtkISrYGxxxxxxxjcxNOp7bQIz2OqFBOUoLrAE5ASxxxxxxxxxO6gQrmBvlLjjMX1XFQ2susqjPsymAAJ77y5wA5Zv00pyc4vLNIgHbprjZzZYHqFz9HKdwsjtR93BxxxxxxxxxxxxxM951thZuNPLRVGlEtuvEdxzqchR0zxxxxxxxkP3ZZhF4Pr7, declinedPermissions: [], isLimitedLogin: true, permissions: [public_profile, email], userId: 101597xxxxxxxxx, authenticationToken: null}}

From my understanding, when isLimitedLogin is true, an authenticationToken should be returned? I cant figure out what the accessToken.token that is returned is. It's not an JWT token. Am I supposed to use the accessToken.token in this case? How come that I'm not getting an authenticationToken back?

newloopadmin commented 3 months ago

One thing, that I'm noticing, is that I get a warning: [WARNING] Nonce is not match. Expected: 48D186AE-xxxx-xxxx-xxxx-CFF738xxxxxx, got: nil

greymag commented 3 months ago

Hello! You're right, an authenticationToken should be returned. This is invalid behaviour. I'll look into it, thank you for the information.

devmax12 commented 3 months ago

@greymag Did u found a solution? I got the same problem.

greymag commented 3 months ago

@devmax12 I'm working on it. Will be available in a couple of days

greymag commented 3 months ago

@newloopadmin Could you please check if token in such cases passed check with https://developers.facebook.com/tools/debug/accesstoken ?

@newloopadmin @devmax12 I have not been able to reproduce the problem, so any additional information would be greatly appreciated: 1) Version of iOS 2) Did you request tracking permission before login? 3) If yes, what was the answer: "allow" or "ask not to track"? 4) Is accessToken.token valid (consider it valid if it passes check, see above)? 5) If you close and open app again, does accessToken contains authenticationToken? Is isLimitedLogin still true? 6) If possible, a video would be great.

If it's not too much trouble, please check and write the information exactly for plugin version 2.0.0.

In the meantime, I have made some changes to the implementation and published version 2.0.1. After testing on the previous version, I would ask you to upgrade to it and see if login works in your cases.

devmax12 commented 3 months ago

@greymag

Version of iOS

17.5.1 Did you request tracking permission before login? no

Is accessToken.token valid (consider it valid if it passes check, see above)?

it´s not valid

If you close and open app again, does accessToken contains authenticationToken? Is isLimitedLogin still true?

Limited login is false, but it says in the URL limited.facebook.com. Output is always the same.

Here is the output:

flutter: Error in Facebook login result: FacebookAccessToken(token: OA6m4yaXXXXXxWap8QBEgzNtG7eL, userId: 162746492254, expires: 4001-01-01 00:00:00.000Z, permissions: [public_profile, email], declinedPermissions: [], authenticationToken: null, isLimitedLogin: false), flutter: Error [firebase_auth/invalid-credential] {"code":190,"message":"Invalid OAuth access token - Cannot parse access token"} flutter: Error in FirebaseAuthException: [firebase_auth/invalid-credential] {"code":190,"message":"Invalid OAuth access token - Cannot parse access token"}

felipecastrosales commented 1 month ago

hey any news?

felipecastrosales commented 1 month ago

@greymag if you can see it 🙏