Client | Server |
---|---|
Oauth login to get auth code. | |
Send auth code | Exchange auth code for token from UtahID and return it to client |
Send user info to API login | |
— all future requests — | |
Sends access token header | Validate token with userinfo UtahID endpoint |
Caches tokens in Firestore if they are not expired so that we don’t hammer userinfo endpoint. | |
If access token is expired, send refresh token to server | exchanges refresh token for new access token |
Client | Server |
---|---|
Oauth login (auto exchanges code for token on the front end) | |
Get user props via google userinfo endpoint | |
Send user info to API login | |
— all future requests — | |
Sends access token header | Validate token with userinfo google endpoint. |
If access token is expired, kick off Oauth again. (I wonder if there is a refresh code that we could use rather than prompting for login again) |
Client | Server |
---|---|
Oauth login | |
Use FB API to get access token | |
Get user info via graphQL FB api | |
Send user info to API login | |
— all future requests — | |
Sends access token header | Validate token via graphQL /me endpoint |
FB API takes care of refreshing token for us |
Client | Server |
---|---|
Login returns auth code, identity token, and user email/name on first request | |
Send auth code & identity token | Verify identity token, exchange code for access token |
Send user info to API login | |
— all future requests — | |
Send id token header | Check that it matches cached version from auth code exchange above or a cached refresh token |
If expired, request new token from server | Use cached refresh token to get a new id token |