Github OAuth提供程序-获取用户名或id

Github OAuth提供程序-获取用户名或id,github,oauth,firebase-authentication,github-api,Github,Oauth,Firebase Authentication,Github Api,我正在使用Firebase身份验证服务来验证使用Github作为提供者的用户。OAuth响应返回用户的访问令牌以及一些其他信息(例如电子邮件、名称…)。出于持久性目的,我需要保存经过身份验证的用户用户名或id,但我似乎无法在OAuth回调中找到该信息 我是否遗漏了什么,或者用户数据不是使用OAuth提供的?不清楚您使用的是哪个SDK,但Firebase auth从OAuth提供程序返回其他用户信息。例如,使用JS SDK,您可以获得如下结果: firebase.auth().signInWith

我正在使用Firebase身份验证服务来验证使用Github作为提供者的用户。OAuth响应返回用户的访问令牌以及一些其他信息(例如电子邮件、名称…)。出于持久性目的,我需要保存经过身份验证的用户用户名id,但我似乎无法在OAuth回调中找到该信息


我是否遗漏了什么,或者用户数据不是使用OAuth提供的?

不清楚您使用的是哪个SDK,但Firebase auth从OAuth提供程序返回其他用户信息。例如,使用JS SDK,您可以获得如下结果:

firebase.auth().signInWithPopup(new firebase.auth.GithubAuthProvider())
  .then(function(result) {
    console.log(result.additionalUserInfo.username);
    console.log(reuslt.additionalUserInfo.profile);
  })
  .catch(function(error) {
    // Some error occurred.
  });

是的,当我向作用域添加“user”时,他们确实提供了额外的userinfo,例如new firebase.auth.GithubAuthProvider().addScope(“user”);这是一个问题还是对我答案的确认?他们将返回基本配置文件附加用户信息,但不包含任何附加范围。这是正确的,但不确定您是否在未定义范围的情况下获得用户名(可能是错误的)。无论如何,这基本上就是答案,所以我会将它标记为正确的答案。我使用了上述代码,并将其包装在函数中,每当我单击login按钮,然后该函数调用,但之后当我关闭页面时,所有的用户信息都消失了。我该如何解决这个问题?请帮帮我