Sto seguendo Github’s OAuth flow e ottengo un token di accesso che mi consente di accedere all'ambito di posta elettronica dell'utente. Quando ho scambiare un codice per un token di accesso, utilizzando il https://github.com/login/oauth/access_token endpoint, ottengo la seguente risposta:L'e-mail utente Github è nullo, nonostante l'utente: ambito di e-mail
{
access_token: '83f42..xxx’,
token_type: 'bearer',
scope: 'user:email'
}
sembra grande. Così faccio questa richiesta, utilizzando il token per ottenere il mio dati utente:
Accept-Language: en-us
Accept: application/json
Authorization: token 83f42..xxx
Accept-Encoding: gzip, deflate
GET https://api.github.com/user
faccio ottenere il mio oggetto utente come una risposta, ma la proprietà e-mail è nullo. Qualcun altro ha questo problema?
uso node.js con passaporto GitHub, la soluzione è quella di passare 'ambito: [ 'user: email']' al costruttore GitHubStrategy. Nota che riceverai un array di e-mail dell'utente, filtri per 'primary: true' se vuoi, ecc. –
@AntonDrukh potresti elaborare? quale sarebbe l'incantesimo "passaporto-gitubo"? – Fergie
@Fergie vedi la mia risposta qui sotto, troppo a lungo per un commento. –