IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> [RN]使用第三方登录(FacebookGoogleApple) -> 正文阅读

[JavaScript知识库][RN]使用第三方登录(FacebookGoogleApple)

Facebook登录

import { AccessToken, LoginManager } from 'react-native-fbsdk-next';
const facebookLogin = ()=>{
	LoginManager.logInWithPermissions(['public_profile', 'email', 'user_birthday', 'user_gender'])
	.then(
		async (result) => {
			if (result.isCancelled) {
				 // 取消登录
			}else{
				const at = await AccessToken.getCurrentAccessToken();
				// 传at.accessToken给后台
			}
		}
	)
}

Google登录

import { GoogleSignin, GoogleSigninButton, statusCodes } from '@react-native-google-signin/google-signin';
const googleLogin = async()=>{
	try{
		if (GoogleSignin.isSignedIn()) {
			GoogleSignin.signOut();
		}
		await GoogleSignin.hasPlayServices();
	    const userInfo = await GoogleSignin.signIn();
	    const token = await GoogleSignin.getTokens()
	    // 传token.accessToken给后台
	} catch (error) {
        if (error.code === statusCodes.SIGN_IN_CANCELLED) {
        	// user cancelled the login flow
        } else if (error.code === statusCodes.IN_PROGRESS) {
            // operation (e.g. sign in) is in progress already
        } else if (error.code === statusCodes.PLAY_SERVICES_NOT_AVAILABLE) {
            // play services not available or outdated
		} else {
            // some other error happened
        }
	}
}

Apple登录

苹果审核时提示使用第三方登录,必须添加苹果登录

需要到Apple开发者控制台找到该应用,勾选复选框Sign in with Apple并单击Edit按钮。选择Enable as a primary App ID并单击Save按钮。
参考开发环境设置

import { appleAuth, AppleButton } from '@invertase/react-native-apple-authentication';
{appleAuth.isSupported && <AppleButton
    buttonStyle={AppleButton.Style.BLACK}
    buttonType={AppleButton.Type.SIGN_IN}
    style={{
        width: '60%',
        height: 45,
    }}
    onPress={() => onAppleButtonPress()}
/>}
......
const onAppleButtonPress = async () => {
    // performs login request
    const appleAuthRequestResponse = await appleAuth.performRequest({
        requestedOperation: appleAuth.Operation.LOGIN,
        requestedScopes: [appleAuth.Scope.EMAIL, appleAuth.Scope.FULL_NAME],
    });
    // 传appleAuthRequestResponse.identityToken给后台
}
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-27 10:59:03  更:2022-02-27 10:59:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:43:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码