iOS 苹果授权登录(Sign in with Apple)/Apple登录/苹果登录集成教程

402 篇文章 24 订阅
订阅专栏
86 篇文章 14 订阅
订阅专栏
本文详细介绍了如何在iOS应用中集成Apple Sign in功能,包括在苹果开发者后台开启服务,HBuilderX的manifest.json配置,登录按钮样式要求,示例代码以及注意事项。特别强调了App Store审核要求和不同设备的兼容性处理。
摘要由CSDN通过智能技术生成

链接

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

根据苹果审核指南要求,如果 app 使用第三方或社交登录服务 (例如,Facebook 登录、Google 登录、通过 Twitter 登录、通过 LinkedIn 登录、通过 Amazon 登录或微信登录) 来对其进行设置或验证这个 app 的用户主帐户,则该 app 必须同时提供“通过 Apple 登录”作为同等选项。详情参考: App Store 审核指南 - 通过 Apple 登录

使用苹果登录的教程

使用苹果登录首先需要在苹果开发者后台开启 App 的 Sign In with Apple 服务

注:只有发布Appstore的应用才能使用苹果登录。企业版开发者账号不支持 Sign In with Apple (企业版开发者账号指的是用于企业内部分发App,不能用于发布 App Store 的账号,也就是价格为 299$ 的账号)

1. 登录到苹果开发者后台 编辑对应的 Identifier 勾选 Sign In with Apple 服务并保存

 

2.勾选或取消服务,会导致之前的 profile 描述文件失效,不需要新建,只要点击 Edit 重新编辑对应的 profile文件,然后保存下载使用新的profile文件即可

 

在 HBuilderX 编辑项目的 manifest.json ,在 App SDK配置中找到苹果登录,并勾选。

 

 

测试苹果登录服务,需要提交云打包或提交自定义基座打包,只有添加了苹果登录服务提交打包才会将苹果登录模块打进安装包,否则调不到相关方法

登录按钮样式

苹果对登录按钮样式有要求,请按照苹果要求统一设置登录按钮的样式,否则审核可能会被拒绝

需要注意的是:

  • 按钮必须在显著的位置(避免滑动屏幕才能看到)
  • 登录按钮有三种外观:白色,带有黑色轮廓线的白色和黑色,其他设计可能会影响审核;
  • 按钮圆角范围及按钮最小尺寸也有要求;
  • 具体规则请参考苹果  官方文档

下面是原生端默认的几种按钮样式供大家参考(width:130pt, height:30pt, corner radius: 6pt)

 

 

示例代码 ( 详细 api 请查阅 plus.oauth 文档)

注:因为是 iOS13+ 系统才支持苹果登录,所以建议在App的界面入口判断下,只有 iOS13 才显示Apple登录的选项

uni-app示例

复制代码uni.login({  
    provider: 'apple',  
    success: function (loginRes) {  
        // 登录成功  
        uni.getUserInfo({  
            provider: 'apple',  
            success() {  
                // 获取用户信息成功  
            }  
        })  
    },  
    fail: function (err) {  
        // 登录失败  
    }  
});  

5+App示例 (可以在 uniapp 中直接调用5+API)

注:因为是 iOS13+ 系统才支持苹果登录,所以在 iOS13 以下设备调用 plus.oauth.getServices 不会返回苹果登录对应的 service 对象

复制代码var appleOauth = null;  
plus.oauth.getServices(function(services) {  
    for (var i in services) {  
        var service = services[i];  
        // 获取苹果授权登录对象,苹果授权登录id 为 'apple' iOS13以下系统,不会返回苹果登录对应的 service    
        if (service.id == 'apple') {  
            appleOauth = service;  
            break;  
        }  
    }  
    appleOauth.login( function(oauth){  
        // 授权成功,苹果授权返回的信息在 oauth.target.appleInfo 中    
    }, function(err) {  
        // 授权失败 error  
    }, {  
        // 默认只会请求用户名字信息,如需请求用户邮箱信息,需要设置 scope: 'email'    
        scope: 'email'  
    })  
}, function(err) {  
    // 获取 services 失败  
})

5+ api 返回参数说明

注意:这里是 5+ api 返回的数据,uni 接口对 5+api 做了封装,以实际返回结果为准

appleInfo

属性类型说明
userString苹果用户唯一标识符
stateString验证信息状态
emailString用户共享的可选电子邮件
fullNameObject用户共享的可选全名
authorizationCodeString验证数据
identityTokenStringWeb令牌(JWT)
realUserStatusNumber标识用户是否为真实的人 0:当前平台不支持,忽略该值;1:无法确认;2:用户真实性非常高
scopeString返回信息作用域

fullName

属性类型说明
namePrefixString名字前缀,头衔、敬称
givenNameString名字
middleNameString中间名
familyNameString
nameSuffixString名字后缀,学位、荣誉
nickNameString昵称

授权失败 code 说明

code说明
1000未知错误
1001取消授权
1002返回值无效
1003请求未处理
1004授权失败

最后提交云打包或自定义基座打包进行功能测试

注意事项

  1. 只有首次弹出登录授权框时才会有用户名及email的项(email需要配置 scope: 'email' ),并且用户可以删除或编辑用户名或隐藏用户邮箱,如果用户删除了用户名授权成功后fullname字段也会为空;
  2. 授权成功后再次调用登录接口会先校验上次授权是否依然有效,如有效,直接回调成功并返回上次授权成功时的数据,注意,此校验不会校验identityToken是否过期,需要用户自行处理;如果想每次都弹出授权框获取新的identityToken等信息,需要先调用'logout()',然后在调用登录接口就会弹出授权框,注意这时授权框内不会在出现用户名及邮箱,登录成功后这两个字段会为空,需要拿到 authorizationCode,identityToken 后传给服务器,然后和苹果服务器验证可获取用户名称等信息,具体请自行查阅文档;如果想在授权框中再次出现用户名或邮箱。需要在 系统设置->AppleID->密码与安全性->使用Apple ID 的 App 里面取消授权,然后再调用登录接口;
iOS 苹果登录(第三方登录
wswile的博客
07-28 8822
使用苹果登录作为第三方登录
iOS开发:使用 Sign In With Apple登录)用法以及注意事项
兰欣的博客
05-20 1万+
一、为什么要使用Sign in with Apple苹果在19年 9 月12 号更新了审核指南,加入 4.8 Sign in with Apple 一条,要求所有使用第三方登录App,都必须接入 Sign in with Apple。已经上架的 App 需在 2020 年 4 月 前完成接入工作,新上架 App(如果支持三方登录)必须接入Sign in with Apple,否则将被拒。 二、如何接入Sign In With Apple ? 1、前期准备 (1)、系统配置:苹果开发文档明确规定:苹
App 集成苹果三方登录
最新发布
mkii_hong的博客
02-28 1373
接上次 苹果 Web 登录,这次来肝一个更加常用的场景:App 集成苹果三方登录图片被吞了,去这里看吧: App 集成苹果三方登录这部分随便找个教程去看,要截太多的图了。所以,这些全部都交给产品。让他最后给个bundle_id就行。步骤:所以服务需要提供一个接口,接收客户端提交的identifyToken,解析完成后,将用户登录上系统。我只提供服务端的代码,毕竟要我开发客户端是不可能的。绝对不可能如果你不只要开发服务端还要开发客户端。哈哈哈哈哈哈哈哈哈哈哈哈哈哈…
Sign in with Apple (通过Apple 登录)
cym_bj
09-30 2万+
在 WWDC 2019 上,苹果推出了自家的 Sign in with Apple 功能,这很 Apple。可能苹果看到第三方登录百家争鸣,琢磨着自己也搞了个,这对很多第三方登录来说可能是个威胁。 使用 Sign in with Apple 会更加方便、快捷、安全,苹果不会追踪用户在应用中的行为。所以,对于用户来说使用 Sign in with Apple 会更加安全。 另外,Sign in ...
【三方登录-AppleiOS 苹果授权登录sign in with Apple)之开发者配置一
十一逐星的博客
10-31 5482
关于使用 Apple进行三方登录Sign in with App使用“通过 Apple 登录”可让用户设置帐户并使用Apple ID登录您的应用程序和关联网站。首先使用使用Apple 登录”功能启用应用程序的App ID。如果您是首次启用应用程序 ID 或为新应用程序启用应用程序 ID,请启用该应用程序ID 作为主要应用程序 ID。您可以单独使用主应用程序 ID,也可以通过分组为相关应用程序和网站启用标识符。要为相关应用程序启用应用程序ID(例如,Mac 应用程序的 iOS 版本的应用程序 ID)
Apple登录流程与实战
lonelymanontheway的博客
08-22 2226
现在在职的公司有一款iOS App,其登录方式有3种,如下截图所示:一般App都只有一种手机号登录方式。登录方式增加微信登录,即在登录时跳转到微信。iOS App上如果有接第三方登陆(如微信,微博,Facebook等),则必须要接入AppleId登录,否则iOS上线提交审核无法通过。
苹果登录使用Apple账号登录你的APP服务端原理介绍+Java实现)
大胡子老哥的博客
06-30 3036
苹果登录服务端Java实现
Sign in with Apple苹果授权登陆)
热门推荐
水不可追
08-16 6万+
苹果授权登陆方式 1. PC/M端授权登陆,采用协议类似于oauth2协议 2. App授权登陆,提供两种后端验证方式 开发者后台配置 详细配置参考该文档,手把手教学 https://developer.okta.com/blog/2019/06/04/what-the-heck-is-sign-in-with-apple 1、 PC/M接入方式 https://appleid.app...
苹果登录 Sign in with Apple
长乐未央
09-30 3474
苹果登录 第三方登录现在已经成为了主流的登录方式,为了给自家用户带来更好的跨平台与跨设备体验, 苹果在今年的 WWDC2019 推出了属于自己的第三方登录服务 —— Sign in with Apple 官方介绍: https://developer.apple.com/cn/news/?id=09122019b https://developer.apple.com/cn/sign-in-w...
苹果登录Sign in with Apple官方英文文档
03-31
苹果公司要求,从iOS 13开始,任何新应用程序都必须提供Sign in with Apple作为第三方登录服务的等效选项。同时,苹果公司还更新了App Store Review Guidelines,要求所有现有的应用程序在2020年4月之前遵守这些新...
IOS app客户端第三方登录授权
05-07
整合了qq、微信和微博第三方授权登录,并且将获取到的数据进行了整理,在获取到相应的数据后可以从一个dictionary中获取数据
iOS Sign in with Apple 苹果登录带配置步骤代码封装
01-03
1.Identifiers 勾选 Sign In with Apple 2.配置key 3. 4.key 与 Certificates 关联 5 6. 更新Profiles的开发配置文件并下载 7. Xcode 开启 Sign In with Apple 苹果授权登录代码封装 #import #import NS_...
sign in apple (系统苹果登录)
07-09
iOS应用中,开发者可以通过集成苹果Sign in with Apple功能,提供用户快速、安全的登录方式。Sign in with Apple遵循隐私优先原则,为用户提供匿名登录选项,不需分享他们的实际电子邮件地址。 接下来,我们...
Unity Technologies开发的Sign in with Apple
06-27
"Unity Technologies开发的Sign in with Apple"是一款专为Unity游戏引擎设计的插件,它使得开发者能够在自己的游戏中集成苹果公司的“使用Apple登录”(Sign in with Apple)功能。这款插件在版本1.1.1时曾存在于...
iOS接入Google登录
u012080441的专栏
08-18 3719
iOS集成Google登录。附带完整的代码,操作简单。
sign in with Apple使用Apple授权登录
鹏仔的技术博客
03-03 1634
sign in with Apple
iOS 苹果授权登录Sign in with Apple
cainiao1412的博客
07-16 5068
授权的用户唯一标识,该值在同一个开发者账号下的所有App下是一样的,开发者可以用该唯一标识符与自己后台系统的账号体系绑定起来。后端只需要接收App端提交的以下参数(user、email为Apple返回给App的参数名)下是一样的,开发者可以用该唯一标识符与自己后台系统的账号体系绑定起来。授权的用户唯一标识,该值在同一个开发者账号下的所有。授权苹果才会给App返回邮箱信息,之后登录不再返回。授权苹果才会给App返回用户信息,之后登录不再返回。返回用户信息,之后登录不再返回。...
sign with apple后端验证一步完成
gouridai的博客
09-14 4555
老表瞧一瞧,懒人工具类sign with apple 配置好需要的参数APPLICATION_ID 、SECRET_KEY 、FILE_KID 、TEAM_ID ,调getUserInfo()方法就完工了,不废话,看工具类 package com.zjtx.util; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.auth0.jwk.Jwk; import com.zjtx
iOS 苹果授权登录Sign in with Apple)系列之Apple Developer配置篇
Gaos的BLOG
07-17 1万+
原文 在iOS13中,如果App提供第三方登录,就必须添加苹果登录 Sign in with Apple选项,并要求所有开发者于2020年4月之前完成现有应用的更新,否则审核不给通过。 iOS 苹果授权登录Sign in with Apple)系列之Apple Developer配置篇 iOS 苹果授权登录Sign in with Apple)系列之原生篇 iOS 苹果授权登录Sign in with Apple)系列之uniappiOS 苹果授权登录(...
写文章

热门文章

  • 微信小程序服务器请求和上传数据,上传图片并展示,提交表单完整实例代码附效果图 140236
  • [微信小程序]搜索功能实现,搜索框样式 132997
  • 微信小程序WebSocket实现聊天对话功能完整源码 93122
  • 中午乱码转成文字 85026
  • [微信小程序]聊天对话(文本,图片)的功能(完整代码附效果图) 83668

分类专栏

  • Ant Design Pro 教程专栏 付费 40篇
  • uniapp框架零基础到开发应用详细教程 付费 23篇
  • uni-app 86篇
  • react 48篇
  • openai 3篇
  • three 1篇
  • AI 1篇
  • 云开发 28篇
  • linux 1篇
  • PS 3篇
  • Web前端 402篇
  • 微信小程序 304篇
  • JS 186篇
  • PHP 62篇
  • vue 91篇
  • css 36篇

最新评论

  • 微信小程序选择市,区县

    懒大王。。: 不行啊,选择之后,上面还是显示请选择,点确认也不行。前面咋就只有江西省,

  • 自定义 showToast 组件,可直接使用,附源代码和使用说明

    qq_27400261: 出不来,不显示

  • 微信H5跳转微信公众号实现

    小丑鱼20210316: wx.commonData.data.uin_base64 报wx is not defined at <anonymous>:1:1

  • 微信小程序订单页面下拉刷新上拉分页加载

    要见小炸.: js前几个那个var放什么啊

  • 微信H5跳转微信公众号实现

    浑身发颤: 请问下,微信内置浏览器打开一个H5,在H5里通过js的方法打开这个链接就不行,直接在微信聊天中点击这个公众号就行,怎么解决。

大家在看

  • 公司的全称可以申请注册商标吗,还有什么注意!
  • 【面部识别】数据集合集!
  • python-flask计算机毕业设计学生成绩管理系统(程序+开题+论文) 1071
  • STM32(F103ZET6)第十八课:SPI&Flash
  • 软件项目管理文档汇总(开发#实施#运维#安全#交付) 980

最新文章

  • echarts使图表组件根据屏幕尺寸变更而重新渲染大小
  • 浏览器窗口放大缩小自动适配字体和元素的大小
  • vue实现PC端图片放大缩小可鼠标拖动,鼠标滚轮控制放大缩小完整代码付效果图
2024年31篇
2023年40篇
2022年39篇
2021年79篇
2020年131篇
2019年157篇
2018年170篇
2017年68篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

PHP网站源码平湖模板制作坑梓企业网站制作松岗网络广告推广坂田网站关键词优化南山关键词按天扣费爱联网站设计大芬模板制作爱联百度网站优化排名南山SEO按效果付费坪山网站设计福永网站制作同乐关键词按天计费布吉建设网站南山网站优化按天扣费松岗seo网站优化横岗seo优化大运百度网站优化排名大芬网站制作大芬网站优化软件光明阿里店铺托管同乐高端网站设计平湖SEO按天收费坪地网站制作设计大鹏标王爱联网站推广工具坪山网站优化按天扣费松岗英文网站建设罗湖网站定制光明设计网站民治网站优化推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化