【发布时间】:2018-06-23 04:11:47
【问题描述】:
我正在通过 facebook 使用 react 和 firebase auth。我正在使用以下代码使用 facebook 登录。
const result = await auth().signInWithPopup(provider)
完整代码是
import React, {
Component
} from 'react'
import './StartPage.css'
import fire from '../../fire.js'
import {
provider,
auth
} from '../../fire.js';
class StartPage extends Component {
constructor(props) {
super(props)
this.login = this.login.bind(this)
this.loggedIn = this.loggedIn.bind(this)
}
async login() {
provider.addScope('user_birthday');
const result = await auth().signInWithPopup(provider)
console.log(result)
console.log(result.credential.accessToken)
this.setState({
user: result.user
});
console.log("Logged in")
this.props.history.push('/vote')
}
loggedIn() {
console.log('meh')
// make check for login here
this.props.history.push('/vote')
}
render() {
return ( <
div className = "StartPage" >
<
div className = "StartPage-up" >
<
div className = "StartPage-up-logo-container" >
<
img className = "StartPage-up-logo"
src = "http://koyilandykoottam.in/images/home/logo.png" / >
<
/div> <
div className = "StartPage-up-poy" > PERSON OF THE YEAR < /div> < /
div > <
div className = "StartPage-down" >
<
button className = "StartPage-facebook-login"
onClick = {
this.login
} >
Login with facebook <
/button> < /
div > <
/div>
)
}
}
export default StartPage
Logging result.user 只显示登录用户的 displayName 和电子邮件 ID。有没有办法获取登录人的 facebook uid?
【问题讨论】:
-
您是否正确配置了 fb 应用并添加了所需的权限?
-
是的,我正在获取用户的显示名称和电子邮件 ID。我需要此人的 uid 来检查已经存在的数据库
-
好的,显示您的代码,以便我更好地帮助您
-
请检查编辑
标签: reactjs firebase firebase-realtime-database