首页 > 其他分享 >iOS 苹果授权登录(Sign in with Apple)系列之uniapp篇

iOS 苹果授权登录(Sign in with Apple)系列之uniapp篇

时间:2023-07-17 14:26:46浏览次数:29  
标签:uniapp apple 登录 iOS platform 授权 ID Apple

官方网址

https://uniapp.dcloud.net.cn/tutorial/app-oauth.html#

 

代码集成

1、在 template 添加以下代码, 苹果授权登录(Sign in with Apple)是 iOS 13 才有的,做下系统版本判断

<template>
    <view class="content">
        <!-- 苹果登录 -->
        <view class="sign-in-with-apple" v-if="system >= 13 && platform=='ios'" @click="appleLogin">sign in with apple</view>
    </view>
</template>

2、在 script 里添加点击以下代码

<script>
    export default {
        data() {
            return {
                title: 'Hello',
                system: '', // 系统版本
                platform: '',   // 平台
            }
        },
        onl oad() {
            // 先判断 系统版本
            uni.getSystemInfo({
                success: (res) => {
                    this.system = res.system
                    this.platform = res.platform
                },fail: (err) => {
                   
                },complete: () => {
                   
                }
            })
           
        },
        methods: {
            // 苹果登录
            appleLogin() {
                // 判断是 iOS13版本
                uni.login({
                    provider: 'apple',
                    success: (loginRes) => {
                        uni.getUserInfo({
                            provider: 'apple',
                            success: (userInfoRes) => {
                               
                            },
                            fail: (err) => {
                               
                            }
                        })
                    },
                    fail: (err) => {
                       
                    }
                })
            }
        }
    }
</script>

 3、授权成功回调

   

{
    "errMsg": "getUserInfo:ok",
    "rawData": "json字符串",
    "userInfo": {
        "openId": "xxx.xxxxx.xxx", // 苹果用户唯一标识符,该值在同一个开发者账号下的所有 App 下是一样的,开发者可以用该唯一标识符与自己后台系统的账号体系绑定起来。
        "fullName": {}, // 当且仅当第一次授权才会返回
        "authorizationCode": "12345678xxx", // 服务器验证需要使用的参数
        "identityToken": "header.payload.signature", // 服务器验证需要使用的参数
        "realUserStatus": 1 // 用于判断当前登录的苹果账号是否是一个真实用户
    },
    "signature": ""
}

 

使用appleId登录app后,如何删除授权

问题一:不是注销APPLE ID,只是想注销它在第三方平台上登陆的账号,比如网易的一些APP,使用appleId登录后,就会授权,下次登录就直接使用本机的appleId登录了。现在想取消这个授权。
问题二:开发者在测试apple登录后,只有首次授权时才能获取到appleid的email和fullName等信息,如果首次授权已经错过,想再次查看授权信息时,需要删除授权
"设置”>“Apple ID”>“密码与安全性”>“使用 Apple ID 的 App”>“[App 名称]”>“停止使用 Apple ID”
链接:https://www.jianshu.com/p/6450a2407c24

 

标签:uniapp,apple,登录,iOS,platform,授权,ID,Apple
From: https://www.cnblogs.com/xqschool/p/17559944.html

相关文章

  • modern standby BIOS
    什么是ModernStandbyBIOS简介ModernStandbyBIOS是一种新一代的计算机BIOS技术,它基于微软的ModernStandby技术。传统的ACPI技术使计算机进入睡眠模式时,CPU会停止运行,只有少量硬件设备处于待机状态。而ModernStandby技术通过使系统保持一定程度的活动,提供更快的从睡眠模式唤......
  • uniapp H5 解决跨域
    1、请求地址:http://192.168.1.216:8080/renren-api/api/getUserInfo2、修改 manifest.json "h5":{"devServer":{"port":5173,//端口号"disableHostCheck":true,"proxy":{&quo......
  • IOS开发-OC UINavigationController使用
    1.什么是UINavigationControllerUINavigationController是iOS中的一个重要的导航控制器类,它可以用来管理页面之间的导航跳转。UINavigationController的主要特征包括:-管理导航栈(navigationstack),实现页面的推入和弹出。-包含一个navigationbar,显示导航项和标题。-可......
  • IOS开发-实现图片缓存优化性能
    在Objective-C中,可以这么实现图片的本地缓存:1.创建一个用于存储图片的缓存文件夹;2.根据图片URL构建缓存文件名;3.检查缓存路径是否存在,如果存在直接读取缓存图片;4.不存在则从网络下载图片;5.保存图片到缓存,以名称cacheFilename;6.以后再加载同一个URL的图片,就直接从......
  • react axios跨域解决方案
    跨域问题及其解决方案在Web开发过程中,由于同源策略的限制,浏览器会阻止发送跨域请求,这给前端开发带来了一定的挑战。而在使用React框架进行开发时,我们经常使用Axios库来进行数据通信,因此需要解决Axios跨域问题。本文将为您介绍React中使用Axios解决跨域问题的方案,并提供相应的代码......
  • vue项目ios真机测试
    如何实现“Vue项目iOS真机测试”简介在开发Vue项目时,我们通常需要进行测试来确保项目在不同平台上的兼容性和稳定性。本文将为刚入行的开发者介绍如何在iOS设备上进行Vue项目的真机测试。流程下面是实现Vue项目iOS真机测试的整体流程:步骤说明步骤一环境准备步骤......
  • vue3axios怎么用
    Vue3中使用axios在Vue3中,可以使用axios来进行网络请求。axios是一个基于Promise的HTTP客户端,可以用于浏览器和Node.js,非常便捷和强大。安装axios在开始之前,首先需要安装axios。可以通过npm或者yarn来安装:npminstallaxios引入axios在Vue3中,可以使用import来引入axios:impor......
  • vue3axiosjwt拦截器
    实现Vue3axiosjwt拦截器介绍在Vue3项目中使用axios进行网络请求时,我们经常需要在每次请求中添加JWT令牌(JSONWebToken)以进行身份验证。为了简化这个过程,我们可以使用axios的拦截器来实现自动添加JWT令牌的功能。本文将指导你如何使用Vue3、axios和JWT来实现拦截器。整体流程......
  • vue+axios实现输入框多条件搜索功能
    Vue+Axios实现输入框多条件搜索功能在现代的Web开发中,搜索功能是一个非常重要的特性。用户们希望能够根据自己的需求输入多个条件来筛选出所需要的数据。Vue.js是一个流行的JavaScript框架,可以轻松地实现这样的功能。而Axios是一个基于Promise的HTTP库,可以方便地与后端进行数据......
  • 解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
    解决VueAxios跨域问题(预检请求)一、问题描述在前后端分离开发中,前端通过Vue框架发起Ajax请求时,如果请求的URL与前端所在的域名不一致,就会触发浏览器的跨域机制。其中一种常见的跨域问题是"RequestMethod:OPTIONS",也称为预检请求。在本文中,我们将说明如何解决这个问题。二、......