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 登录相关推荐

  1. iOS Apple登录一些限制与细节

    如果新APP有第三方登录,一定要集成Apple登录,理解有误,做下记录: 在以下情况下,不要求提供"通过 Apple 登录"选项: * 您的 app 是一款教育.企业或商务 app ...

  2. ios 登录 java 后台,IOS苹果登录sign in with apple后端校验

    IOS苹果登录sign in with apple后端校验 最近新开发的app在IOS平台app store connent提审的时候,被拒了,原因是app上如果有接第三方登陆(比如微信,微博,fac ...

  3. 微信公众号关闭iOS端虚拟支付业务;苹果「Apple 登录」存安全漏洞;谷歌推迟发布Android 11 Beta| 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极 ...

  4. flutter在IOS上的登录实现——QQ登录、微信登录、自动识别手机号一键登录、apple登录

    flutter在IOS上的登录实现--QQ登录.微信登录.自动识别手机号一键登录.apple登录 一.QQ登录 使用的第三方库: 具体操作方法: 1.配置 Universal Links 2.QQ互联 ...

  5. iOS 苹果登录 Sign in with apple Swift

    iOS 苹果登录 Sign in with apple Swift 话不多说,直接看功能类,解释代码里有 import UIKit import AuthenticationServices @ava ...

  6. ios设计登录功能_亲爱的产品设计师,这是iOS 14的新功能

    ios设计登录功能 On June 22, 2020 Apple previewed iOS 14 for the first time. As always there are quite some ...

  7. iPhone 12使用“通过Apple登录”方法教程「iphone技巧」

    当您需要登录新下载的应用时,除了可以使用微信.QQ授权登录,还可以使用iOS自带的"通过Apple登录"功能,也就是使用您的Apple ID登录App和网站,从而无需创建和记住新密 ...

  8. Unity 接入Apple登录

    文章末尾有资源插件链接 在6月的全球开发者大会(WWDC)上,苹果宣布了一款新产品:使用苹果登录.随着iOS 13即将于9月19日发布,苹果已经更新了App Store审查指南,现在他们要求任何使用第 ...

  9. Unity:Firebase接入Apple登录

    Unity:Firebase接入Apple登录 开启Firebase的登录方式 设置Apple的后台信息 从Assets Store下载 Singn In With Apple Xcode设置 添加A ...

最新文章

  1. java线程能做什么_java中的多线程能做什么 ?基本作用能说下吗?
  2. JMeter web 测试
  3. MySQL上线,检查数据库设计的“十条合规”
  4. Boost.Bind的基础使用
  5. 易语言中关于成员变量的声明
  6. Hadoop学习笔记—14.ZooKeeper环境搭建
  7. Java设计模式(详细待续)(转)
  8. 简明 Python 教程   第15章 更多Python的内容   上一页 在函数中接收元组和列表 注解...
  9. ppt如何利用视频作为背景
  10. java 按钮响应回车_swing 设置回车响应按钮的方法
  11. 【Web】HTML(No.06)表格标签经典案例《小说排行榜》
  12. 微信小程序实现微信APP上的扫一扫扫码跳到小程序对应的结果页面和签字等功能
  13. Python爬虫与信息提取(五)爬虫实例:爬取新浪微博热搜排名
  14. linux版印象笔记 for deepin
  15. Spring的完整介绍
  16. 用于反激和准谐振的同步整流器MST1692DS
  17. 交叉编译-15::libmpc.so.3: cannot open shared object file解决方法
  18. Facebook推出强大Android 自动释放内存的图片库Fresco
  19. 算法之十大滤波算法详解
  20. md5 16位加密 java_MD5加密,MD5在线加密,MD5校验

热门文章

  1. 如何实现上传多个图片并依次展示_在一张PowerPoint中插入多张图片如何让这些图片能依次播放...
  2. xc7z030有多少个quad_XC7Z030-2FBG676I;XCZ7030-2FFG676I ZYNQ7系列专营
  3. android打开蓝牙设置界面,Android 点击跳转到蓝牙设置界面
  4. Pytorch音频分类
  5. 隐函数(组)存在定理
  6. 河南在郑州开启5G网络全城试用
  7. 英式音标26字母(U-Z)
  8. 正态分布,锐利分布,莱斯分布 matlab拟合源码
  9. 没有申报就对房屋进行装修可以吗?
  10. 为什么用手机拍摄电脑屏幕时会出现波纹?终于明白了!