iOS apple 登录
Handle User Credentials
使用场景: 点击apple登录, 成功后, 使用user等信息传给服务器验证
sign in with Apple
#import <AuthenticationServices/AuthenticationServices.h>// 处理登录按钮点击事件
- (void)test:(id)sender
{if (@available(iOS 13.0, *)){ASAuthorizationAppleIDProvider *provider = [[ASAuthorizationAppleIDProvider alloc]init];ASAuthorizationAppleIDRequest *request = provider.createRequest;[request setRequestedScopes:@[ASAuthorizationScopeFullName,ASAuthorizationScopeEmail]];ASAuthorizationController *controller = [[ASAuthorizationController alloc]initWithAuthorizationRequests:@[request]];controller.delegate = self;controller.presentationContextProvider = self;[controller performRequests];}
}- (void)authorizationController:(ASAuthorizationController *)controller didCompleteWithAuthorization:(ASAuthorization *)authorization {
// NSLog(@"aikesi--%@",authorization.credential);if ([authorization.credential isKindOfClass:[ASAuthorizationAppleIDCredential class]]){ASAuthorizationAppleIDCredential * res = (ASAuthorizationAppleIDCredential *)authorization.credential;NSLog(@"aikesi--%@",res.user); 000166.f4be4f25d50b4b409a794163a7b96e23.0322NSLog(@"aikesi--%@",res.fullName);NSLog(@"aikesi--%@",res.email);NSLog(@"aikesi--%@",res.identityToken);
// NSLog(@"aikesi--%@",res.user);}if ([authorization.credential isKindOfClass:[ASPasswordCredential class]]){ASPasswordCredential * res = (ASPasswordCredential *)authorization.credential;NSLog(@"aikesi--%@",res.user);NSLog(@"aikesi--%@",res.password);}
}
- (void)authorizationController:(ASAuthorizationController *)controller didCompleteWithError:(NSError *)error {NSLog(@"aikesi--");
}- (ASPresentationAnchor)presentationAnchorForAuthorizationController:(ASAuthorizationController *)controller
{NSLog(@"aikesi--");return self.view.window;
}
经测试, 登陆成功凭证中的user字段是不会发生变化的
Request Existing Credentials
使用场景: 检测到用户未登录的时候. 检查本地是否有可用的凭证
检查本地谁都已经存在凭证ASAuthorizationAppleIDProvider *idProvide = [[ASAuthorizationAppleIDProvider alloc]init];ASAuthorizationPasswordProvider *passwordProvide = [[ASAuthorizationPasswordProvider alloc]init];NSArray *requests = @[[idProvide createRequest],[passwordProvide createRequest]];ASAuthorizationController *con = [[ASAuthorizationController alloc]initWithAuthorizationRequests:requests];con.delegate = self;con.presentationContextProvider = self;[con performRequests];return YES;
}
- (void)authorizationController:(ASAuthorizationController *)controller didCompleteWithAuthorization:(ASAuthorization *)authorization
{NSLog(@"aikesi--");
}- (void)authorizationController:(ASAuthorizationController *)controller didCompleteWithError:(NSError *)error
{NSLog(@"aikesi--");
}
Check User Credentials at Launch
使用场景: 检查用户凭证是否有效
// 检查授权状态ASAuthorizationAppleIDProvider *idProvide = [[ASAuthorizationAppleIDProvider alloc]init];
// SAMKeychain;
// SAMKeyc头[idProvide getCredentialStateForUserID:@"000166.f4be4f25d50b4b409a794163a7b96e23.0322" completion:^(ASAuthorizationAppleIDProviderCredentialState credentialState, NSError * _Nullable error) {if (credentialState == ASAuthorizationAppleIDProviderCredentialRevoked) {NSLog(@"aikesi->>>-已经移除了");}if (credentialState == ASAuthorizationAppleIDProviderCredentialNotFound) {NSLog(@"aikesi->>>-未找到");}if (credentialState == ASAuthorizationAppleIDProviderCredentialAuthorized) {NSLog(@"aikesi->>>-已经授权");}}];
iOS apple 登录相关推荐
- iOS Apple登录一些限制与细节
如果新APP有第三方登录,一定要集成Apple登录,理解有误,做下记录: 在以下情况下,不要求提供"通过 Apple 登录"选项: * 您的 app 是一款教育.企业或商务 app ...
- ios 登录 java 后台,IOS苹果登录sign in with apple后端校验
IOS苹果登录sign in with apple后端校验 最近新开发的app在IOS平台app store connent提审的时候,被拒了,原因是app上如果有接第三方登陆(比如微信,微博,fac ...
- 微信公众号关闭iOS端虚拟支付业务;苹果「Apple 登录」存安全漏洞;谷歌推迟发布Android 11 Beta| 极客头条...
整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极 ...
- flutter在IOS上的登录实现——QQ登录、微信登录、自动识别手机号一键登录、apple登录
flutter在IOS上的登录实现--QQ登录.微信登录.自动识别手机号一键登录.apple登录 一.QQ登录 使用的第三方库: 具体操作方法: 1.配置 Universal Links 2.QQ互联 ...
- iOS 苹果登录 Sign in with apple Swift
iOS 苹果登录 Sign in with apple Swift 话不多说,直接看功能类,解释代码里有 import UIKit import AuthenticationServices @ava ...
- ios设计登录功能_亲爱的产品设计师,这是iOS 14的新功能
ios设计登录功能 On June 22, 2020 Apple previewed iOS 14 for the first time. As always there are quite some ...
- iPhone 12使用“通过Apple登录”方法教程「iphone技巧」
当您需要登录新下载的应用时,除了可以使用微信.QQ授权登录,还可以使用iOS自带的"通过Apple登录"功能,也就是使用您的Apple ID登录App和网站,从而无需创建和记住新密 ...
- Unity 接入Apple登录
文章末尾有资源插件链接 在6月的全球开发者大会(WWDC)上,苹果宣布了一款新产品:使用苹果登录.随着iOS 13即将于9月19日发布,苹果已经更新了App Store审查指南,现在他们要求任何使用第 ...
- Unity:Firebase接入Apple登录
Unity:Firebase接入Apple登录 开启Firebase的登录方式 设置Apple的后台信息 从Assets Store下载 Singn In With Apple Xcode设置 添加A ...
最新文章
- java线程能做什么_java中的多线程能做什么 ?基本作用能说下吗?
- JMeter web 测试
- MySQL上线,检查数据库设计的“十条合规”
- Boost.Bind的基础使用
- 易语言中关于成员变量的声明
- Hadoop学习笔记—14.ZooKeeper环境搭建
- Java设计模式(详细待续)(转)
- 简明 Python 教程 第15章 更多Python的内容 上一页 在函数中接收元组和列表 注解...
- ppt如何利用视频作为背景
- java 按钮响应回车_swing 设置回车响应按钮的方法
- 【Web】HTML(No.06)表格标签经典案例《小说排行榜》
- 微信小程序实现微信APP上的扫一扫扫码跳到小程序对应的结果页面和签字等功能
- Python爬虫与信息提取(五)爬虫实例:爬取新浪微博热搜排名
- linux版印象笔记 for deepin
- Spring的完整介绍
- 用于反激和准谐振的同步整流器MST1692DS
- 交叉编译-15::libmpc.so.3: cannot open shared object file解决方法
- Facebook推出强大Android 自动释放内存的图片库Fresco
- 算法之十大滤波算法详解
- md5 16位加密 java_MD5加密,MD5在线加密,MD5校验
热门文章
- 如何实现上传多个图片并依次展示_在一张PowerPoint中插入多张图片如何让这些图片能依次播放...
- xc7z030有多少个quad_XC7Z030-2FBG676I;XCZ7030-2FFG676I ZYNQ7系列专营
- android打开蓝牙设置界面,Android 点击跳转到蓝牙设置界面
- Pytorch音频分类
- 隐函数(组)存在定理
- 河南在郑州开启5G网络全城试用
- 英式音标26字母(U-Z)
- 正态分布,锐利分布,莱斯分布 matlab拟合源码
- 没有申报就对房屋进行装修可以吗?
- 为什么用手机拍摄电脑屏幕时会出现波纹?终于明白了!