我尝试使用reactjs(localhost)将facebook登录集成到我的示例网站中。
我在Facebook开发者控制台
我安装了包react-facebook-login-component。
以下是访问facebook的一些代码
import React, { Component } from 'react';
import { FacebookLogin } from 'react-facebook-login-component';
const $ = window.$;
class FacebookLoginData extends Component{
constructor(props){
super(props);
this.state = {
facebookRes:{},
user : {},
addUserNameModal:false,
sociallogin :{}
}
}
/*************
facebook login
*************/
responseFacebook(response){
this.props
.facebookLoginData({
variables:{
email : response.email,
name : response.name,
facebookid : response.id,
profilepic : response.picture.data.url
}
})
.then(({ data }) => {
var user = data.facebookLogin;
this.setState({user});
if(user){
localStorage.setItem('loggedUser', JSON.stringify(user));
}
})
.catch(error => {
console.log("errors..in facebook.."+JSON.stringify(error))
})
}
render(){
return(
<div>
<h1>Hello</h1>
// Social ID --- APP ID
<FacebookLogin socialId="*************"
language="en_US"
scope="public_profile, email"
xfbml={true}
responseHandler={this.responseFacebook.bind(this)}
fields="name,email,picture.height(2048)"
version="v2.5"
class="fbbutton"
buttonText=" FACEBOOK"/>
</div>
)
}
}
export default FacebookLoginData;
无法加载网址:此网址的域未包含在应用的域中。要加载此网址,请将应用的所有域和子域添加到应用设置中的应用域名字段。
答案 0 :(得分:1)
您需要配置要从中访问Facebook Login API的URL。
从https://developers.facebook.com/apps/
转到“应用设置”页面然后添加您的应用域。像这样的东西
您还需要在此处添加网站网址
Settings -> Basic -> Website -> Site URL
如果您在本地测试它,请在应用程序域中添加localhost,并在站点URL中添加http://localhost。
答案 1 :(得分:1)