По сути, я пытаюсь создать веб-сайт, который аутентифицирует учетную запись пользователя GitHub через firebase, а затем сохраняет его имя пользователя в базе данных - мне специально для этого нужно имя пользователя. У меня работает аутентификация, но похоже, что у firebase нет способа получить доступ к имени пользователя, есть только такие вещи, как электронная почта, отображаемое имя и т. Д. В настоящее время я просто хочу сохранить имя пользователя как переменную
Я сталкивался с этим: https://developer.github.com/v3/users/#get-the-authenticated-user
Я полагаю, "логин" это имя пользователя?
Хотя я относительно новичок в этом деле и не могу найти каких-либо четких примеров того, как я мог бы получить доступ к этой информации с помощью моего токена из firebase.
Для справки у меня есть index.html, связанный с app.js, который содержит весь мой код аутентификации.
var provider = new firebase.auth.GithubAuthProvider();
provider.addScope('read:user');
//get elements
const authenticateBtn = document.getElementById('authbtn');
//add login event
authenticateBtn.addEventListener('click', e=>{
firebase.auth().signInWithPopup(provider).then(function(result) {
// This gives you a GitHub Access Token. You can use it to access the GitHub API.
var token = result.credential.accessToken;
// The signed-in user info.
var user = result.user;
//what I want to get
//var Username = ;
//some data I am able to get
var displayName = user.displayName;
var email = user.email;
var emailVerified = user.emailVerified;
var photoURL = user.photoURL;
var isAnonymous = user.isAnonymous;
var uid = user.uid;
var providerData = user.providerData;
//where I want to print the username
//console.log(userName);
// ...
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
// ...
});
})
Мне просто нужно объяснение начинающим, возможно ли то, что я хочу сделать, и если да, то какой именно код мне понадобится в моем проекте.
Спасибо!