IOS客户端接入FaceB,SSO授权
转载:http://blog.csdn.net/pjk1129/article/details/8053165
这将对自己的客户端分享功能非常有用!类似的新浪微博也是同一个道理!
原贴地址:http://blog.csdn.net/wxq888/article/details/7905003
一 首先说明下:
1:Facebook采用的时Oauth2.0授权
2: 说明下什么是sso
SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。对于Facebook的移动应用接入来说,意思就是如果用户手机上安装了facebook官方客户端并登录了,那么我们写的应用,授权facebook时,就不需要输入用户名和密码了,程序里call下facebook打声招呼就行了。这个用户体验是不是很棒~国内的新浪微博好像也快推出sso了~
3:Facebook的sso说明:
a:要实现sso,Facebook客户端的版本要求3.2.3或更高版本。
b:如果用户手机里没有装Facebook客户端或者版本过底,那么SDK将打开safari浏览器,在浏览器中登陆后,skd可以利用safari浏览器的cookie中的access_token.
c:如果程序运行在一个不支持多任务的系统,sdk将弹出一个UIWebView,提示用户登录授权。个人关于Facebook sso的见解:sso用户体验很不错,关于第二点,调用safari浏览器来登录,我觉得很多国内用户都不用safari浏览器,所以这个代码可以在sdk中屏蔽调。如果用户没有装facebook官方客户端的话,就直接弹登录框了~不过国内由于需要翻墙才能上facebook,估计用户也不多,不知到国外用户用safari浏览器的多不多?还是有其他浏览器。
二:准备工作:
下载Facebook ios sdk:官方下载地址:http://developers.facebook.com/ios/。官方现在得sdk版本已经是3.0.8了,应该差不了太多。我得sdk是两个月前下载得,我已上传倒csdn资源中,下载地址:http://download.csdn.net/download/wxq888/4522172
三:正式开始
1:把sdk目录下src目录文件导入到工程中
2:在AppDelegate中初始化Facebook对象 在appDelegate得头文件和m文件中加入下面得代码
#import "FBConnect.h"
Facebook *facebook;
@property (nonatomic, retain) Facebook *facebook;
@synthesize facebook;
facebook = [[Facebook alloc] initWithAppId:your asp id andDelegate:nil];
3:实现sso回调代码,也就是当应用程序委托Facebook官方客户端授权后,官方客户端要回调应用程序传回access token。在appDelegate中添加下面代码:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [self.facebook handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [self.facebook handleOpenURL:url];
}
4:在Info.plist文件中增加sso回调url,以告诉Facebook官方客户端该调用谁。如图所示,回调地址格式是fb.your_app_id.需要修改为自己申请得appid。
5: 调用sdk api登录 AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; [[delegate facebook] authorize:permissions];
6:如果登录没有问题,就会回调Facebook.m得 (void)fbDialogLogin:(NSString *)token expirationDate:(NSDate *)expirationDate 这个函数,你需要在这个函数中处理授权成功代码。保存token值等操作。如果有错误会调用- (void)fbDialogNotLogin:(BOOL)cancelled 这个函数。
7:利用skd调用其他api。比如请求用户资料。 需要调用:[self requestWithGraphPath:@"me" andDelegate:self];。其他api具体需要调用哪个请参看官方文档。
IOS客户端接入FaceB,SSO授权相关推荐
- IOS客户端接入Facebook,SSO授权
原贴地址:http://blog.csdn.net/wxq888/article/details/7905003 一 首先说明下: 1:Facebook采用的时Oauth2.0授权 2: 说明下什么是 ...
- iOS- 无处不在,详解iOS集成第三方登录(SSO授权登录无需密码)
1.前言 不多说,第三登录无处不在!必备技能,今天以新浪微博为例. 这是上次写的iOS第三方社交分享: http://www.cnblogs.com/qingche/p/3727559.html 可以 ...
- iOS无处不在详解iOS集成第三方登录(SSO授权登录无需密码)
链接地址:http://www.it165.net/pro/html/201408/18884.html 1.前言 不多说,第三登录无处不在!必备技能,今天以新浪微博为例. 这是上次写的iOS第三方社 ...
- iOS之友盟简单分享(第三方)及sso授权问题
一.友盟分享简单集成步骤: 1.注册友盟账号,申请友盟Appkey 2.下载并安装SDK 注意: 1>由于苹果审核政策需求,建议大家对未安装客户端平台进行隐藏,在设置QQ.微信AppID之后调用 ...
- 新浪微博Android客户端SSO授权认证缺陷
从最近几年开始,做平台的公司都流行起Open API.这是一个非常好的理念,也受到广大开发者的欢迎.如今,开发一款软件,你可以很容易地集成微博.微信.人人网等流行社交媒介的分享功能,做一个社交应用变得 ...
- 微服务接入oauth2_SpringCloud微服务实战系列(十九)Ouath2在真实场景中的应用之客户端接入(第一种写法)...
SpringCloud微服务实战系列(十九)Ouath2在真实场景中的应用之客户端接入(第一种写法) 一.概述 在<SpringCloud微服务实战系列(十七)Ouath2在真实场景中的应用之资 ...
- iOS13 sign in with Apple客户端接入遇到的一些问题
公司项目需要接入sign in with Apple,花了几天时间,查看各种文档博客,最终完成接入. 客户端接入遇到的一些问题 1.首次登录时调用的代码: if (@available(iOS 13. ...
- IOS新浪微博开发--分享、授权登录
一.准被工作 1.注册成为开发者,创建应用项目,获取APPkey 2.添加 SDK 文件到工程 将从 GitHub 上下载的 libWeiboSDK 文件夹添加至工程,其中包含 W ...
- 开源中国iOS客户端学习——(五)网络通信ASI类库(1)
如今的应用大部分基予网络,在开源中国iOS客户端源码中关于网络通信方面用了三个类库,ASI和AFNetworking,还有一个苹果官方给出的Reachability用于检测当前网络状况,本文介绍当前用 ...
最新文章
- 使用姿势估计进行跌倒检测
- 正确删除ORACLE归档日志文件
- Leetcode - 347. Top K Frequent Elements(堆排序)
- SpringBoot 2.6.0发布:禁止循环依赖,还有哪些实用的更新?
- plsql连接oracle未找到oci,Plsql Developer连接Oracle时出现Could not initialize oci.dll解决方案...
- 使用 pylint 检测python代码质量(sonar-scanner调用pylint,然后数据交给sonar服务器)
- Dapr + .NET 实战(八)服务监测
- java 中的override overload 比较
- java公钥加密私钥解密过程_GPG加密解密过程
- 怎么重置blockinput的锁_OPPOA9锁屏密码忘了怎么办? OPPO忘记锁屏密码的解决办法...
- android退出app代码,Android应用退出代码各种方式
- ArrayList动态数组对象 c# 1231
- Java 线程池ThreadPoolExecutor的应用与源码解析
- error: Unable to find vcvarsall.bat
- 【读书笔记】IOS帝国-Apple Ⅱ/Mac/皮克斯/iPod/iTunes/iPhone/App Store/iPad,苹果教父:史蒂夫·乔布斯传_2020.02.15
- win7 蓝牙4.0 ble驱动_Android FrameWorkamp;HAL视频最新进度: 蓝牙更新6节(更新时间2019年3月27日)...
- springboot vue3 elementui plus点餐外卖系统源码
- PHP 获取微视无水印源地址_小红书无水印视频解析下载|小红书在线去水印|小红书视频解析API接口...
- NC65在日常开发中常用的代码写法
- 移动学习 AndroidStudio内存优化分析—hprof文件分析