react 谷歌登录和facebook登录

react 谷歌登录和facebook登录

1,谷歌登录 使用react-google-login插件

import {GoogleLogin} from 'react-google-login';

let responseGoogle = (res) => {
        let {sendToken} = props
        sendToken(res.Cc.id_token)
        setLoad(false)
    }
let responseGoogleErr = (data) => {
        if (data.error === 'popup_closed_by_user') {
            console.log('用户手动关闭google登录弹窗')
        }
        if (data.error === 'network_error') {
       console.log('网络错误提示')
            FJMessageStore.addMessage(FJLocalStore._('network-error'), 'error');
        }
    }
let _onAutoLoadFinished = (data) => {
         console.log('谷歌登录sdk加载完成  会执行此方法  可用作判断是否sdk加载成功')
    }
<GoogleLogin
     clientId=项目clientId
     buttonText="Login"
     render={renderProps => (
         <button onClick={renderProps.onClick}>点击登录</button>
      )}
     onSuccess={responseGoogle}
     onFailure={responseGoogleErr}
     onAutoLoadFinished={_onAutoLoadFinished}
     cookiePolicy='single_host_origin'
     isSignedIn={false}
/>

2,facebook登录 使用react-facebook 插件

import {FacebookProvider, Login} from 'react-facebook';


let handleResponse = (res) => {
       console.log('将 res.tokenDetail.accessToken 传递给后台')
    }
let handleError = (err) => {
        let errData = {err}
        console.log(errData.err.message, 'errData.err')
        if (errData.err.message === 'Unauthorized user') {
            console.log('用户手动关闭facebook登录弹窗')
        } else if (errData.err.message === 'Facebook is not initialized. Wait for isReady') {
           console.log('sdk还未加载成功')
        }
    }

<FacebookProvider appId=项目aapId>
   <Login
      scope="email"
      onCompleted={handleResponse}
      onError={handleError}
    >
     {/* {loading, handleClick, error, data} */}
     {({loading, handleClick, error, data}) => {
         return (
             <button onClick={handleClick}>点击登录</button>
      }}
     </Login>
</FacebookProvider>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值