问题
I am super hopeful someone can help me - I'm kind of stuck.
I'm happily using firebase auth with Microsoft AD. My AuthProvider is firebase.auth.OAuthProvider('microsoft.com')
.
When I call firebase.auth().signInWithPopup()
with that provider, everything works GREAT. I can pick out the accessToken
from the resulting UserCredential
and access Microsoft Graph api's no problem (yay!).
Firebase persists and renews the authentication and my app gets the expected callback via onAuthStateChanged
with the new firebase.User
when the user returns to my SPA later (also yay!).
The bad news (where I'm stuck) is: how do I get the Microsoft Graph accessToken
in this flow (e.g. when the user returns to my app later)? I don't want them to have to re-authenticate with another popup (yech).
Basically, how do I go from a valid firebase.User
to a MS Graph accessToken
when the user returns?
Thanks so so much for any help!
回答1:
Firebase Auth only focuses on authentication only. They will return the OAuth access token on sign in success via UserCredential
but will discard the Microsoft OAuth refresh token and not store any OAuth credential associated with the provider. So you have no way to get a new access token afterwards. If you have a good reason for Firebase Auth to manage OAuth access tokens, please file an official feature request.
来源:https://stackoverflow.com/questions/57031125/firebase-auth-with-microsoft-graph-accesstoken