zoukankan      html  css  js  c++  java
  • Uniapp---苹果授权登录

    在用Uniapp框架做APP,由于APP开发的时候,有微信登录和QQ登录,所以还需要开发苹果授权登录。

    HBuilderX 自 2.4.7+ 版本开始支持 Sign in with Apple (苹果登录),苹果登录是 iOS13 新增加的功能,当你的应用使用了第三方登录比如微信登录,同时也需要集成苹果登录,否则提交审核可能会被拒绝。

    官方文档参考:

    https://ask.dcloud.net.cn/article/36651

    第一步:在HbuilderX中配置apple登录

    在 HBuilderX 打开需要配置 苹果授权登录(Sign in with Apple)的项目找到 manifest.json-App SDK配置-登录鉴权-苹果登录(Sign In with Apple) 将其勾选

    注意:在进行测试苹果登录服务的时候,需要提交云打包或者提交自定义基座打包,而且只有添加了苹果登录服务,提交打包才会将苹果授权登录模块打包进去,否则调不到相关的方法。

    第二步:APP登录按钮样式

    苹果授权登录按钮样式参考官方文档:

    https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple/overview/buttons/

    第三步:登录代码

    苹果授权登录是ios13才有的,所以需要判断平台以及ios系统版本

    <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>

    script代码:

    export default {
            data() {
                return {
                    title: 'Hello',
                    system: '', // 系统版本
                    platform: '',   // 平台
                }
            },
            onLoad() {
                // 先判断 系统版本
                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>

    授权成功后的回调:

    {
        "errMsg": "getUserInfo:ok",
        "rawData": "json字符串",
        "userInfo": {
            "openId": "xxx.xxxxx.xxx", // 苹果用户唯一标识符,该值在同一个开发者账号下的所有 App 下是一样的,开发者可以用该唯一标识符与自己后台系统的账号体系绑定起来。
            "fullName": {}, // 当且仅当第一次授权才会返回
            "authorizationCode": "12345678xxx", // 服务器验证需要使用的参数
            "identityToken": "header.payload.signature", // 服务器验证需要使用的参数
            "realUserStatus": 1 // 用于判断当前登录的苹果账号是否是一个真实用户
        },
        "signature": ""
    }
  • 相关阅读:
    docker 应用-1(安装以及基础命令)
    网桥原理及使用
    【年终总结】个人的2019年年终总结
    【bat批处理】批量执行某个文件夹下的所有sql文件bat批处理
    【实用工具】.fbr格式免费播放器 FBR格式 Free FlashBack Player
    【SQL骚操作】SqlServer数据库表生成C# Model实体类SQL语句
    【算法基础】面试过程中遇到的一些算法题输出杨辉三角
    【sql基础】按照名字分组查询时间最早的一条记录
    【面试题】java面试题整理(有空再贴答案)
    【海驾资料】海淀驾校科目三考试资料
  • 原文地址:https://www.cnblogs.com/e0yu/p/14717859.html
Copyright © 2011-2022 走看看