• 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": ""
    }
  • 相关阅读:
    sql server实用要点全解
    C# EntityFramwork(Model First)使用要点
    c# linq查询语句详细使用介绍
    c# webapi2 实用详解
    create-react-app脚手架中配置sass
    redux使用教程详细介绍
    react-router4.x 实用例子(路由过渡动画、代码分割)
    react-router4.x 组件和api介绍
    leetcode-mid-backtracking -22. Generate Parentheses-NO
    leetcode-mid-backtracking-17. Letter Combinations of a Phone Number
  • 原文地址:https://www.cnblogs.com/e0yu/p/14717859.html
Copyright © 2020-2023  润新知