humbleadmin-SDK-iOS 0.11.0

humbleadmin-SDK-iOS 0.11.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后更新2016年7月

Misstime0501维护。



  • 作者
  • 李辰

简介

「humbleadmin-SDK-iOS」是华瑞网研所开发的 「可信 ID」SDK
可提供 短信验证码登录 、 用户名和密码的注册和登录方法。

配置

使用此 SDK 时,项目需要满足以下要求。

  • 项目设置 要求项目的 Deployment Target7.0 以上。
  • 项目设置 需要项目在自身的 .plist 文件中添加 App Transport Security Settings 并在该项中添加 Allow Arbitrary Loads 将其值设置为 YES
  • 项目设置 需要项目在自身的 .plist 文件中 URL types 项内添加由 humbleadmin.io 获取到的 App Schema

项目结构

文件名 用途
doc 本项目 API,进入文件夹双击 index.html 查看。
humbleadmin-sdk-ios_使用说明 SDK 使用的快速入门使用说明。
humbleadmin-SDK-iOS.podspec 支持 cocoapods 引用的项目文件。
LICENSE 许可证书。
README.md 说明文档。
HASDK SDK 存放位置,HASDK/Framework 下即为 SDK

SDK 自动引入方法

本 SDK 可以通过 CocoaPods 进行安装,只需要在 PHumbleAdminodfile 中添加一下代码:
引入方法 用途
pod 'humbleadmin-SDK-iOS',:git=>'https://github.com/HumbleAdmin/humbleadmin-SDK-iOS.git' 必填 引入头文件。
pod 'humbleadmin-SDK-iOS/Connection/SMS',:git=>'https://github.com/HumbleAdmin/humbleadmin-SDK-iOS.git' 只使用 SMS 登录时调用引用。
pod 'humbleadmin-SDK-iOS/Connection/Extend',:git=>'https://github.com/HumbleAdmin/humbleadmin-SDK-iOS.git' 添加第三方登录功能时引用。

注: 在使用 CocoaPods 安装时,除引入 humbleadmin-SDK-iOS 以外,还必须引入 humbleadmin-SDK-iOS/Connection/SMShumbleadmin-SDK-iOS/Connection/Extend 其中之一,以便在项目中加入二进制的 .a.bundle 文件。

使用说明

SDK 共有六个头文件,分别为 HumbleAdmin.h HASetting.h HAKit.h HASession.h HASNS.h HAUser.h

HumbleAdmin.h

这个类中需要用户把从网站上获取到的项目信息在第一时间传给SDK。另外,实例化该类之后,可以获取终端用户之前登录的信息。
名称 使用方法
+currentSession Trusty 实例化后调用此方法,可获取终端用户的 session 信息。
+currentUser Trusty 实例化后调用此方法,可获取终端用户的 user 信息。
+setAppID:appSecret 设置 AppIDAppSecret 信息。
+getAppID 获取 AppID
+getAppSecret 获取 AppSecret

HASetting.h

这个类是开发者对终端用户是否可以使用用户名密码登录的这是方式。
名称 属性功能
passwordEnabled 将此属性设置为 YES 即可以使用密码登录,否则为 NO,则不能使用密码登录。

HAKit.h

这个类是「可信 ID」的 UI 类,调用里面的方法,会自动绘制 UI 界面,来实现相对应的接口功能。
名称 使用方法
+haMainMenuView:设置:块 返回菜单界面,可以进行注册和登录操作。操作完成后会返回 信息,包括是否成功以及失败后的 错误 信息。
+haLoginButton:设置:块 返回登录按钮,可以进行无密码登录、第三方登录等登录操作。操作完成后会返回 信息,包括是否成功以及失败后的 错误 信息。
+haRegisterButton:设置:块 返回注册按钮,可以进行注册等操作。操作完成后会返回 信息,包括是否成功以及失败后的 错误 信息。
+smsLoginButton:块 返回用于请求短信验证登录按钮,点击可以进行短信验证登录的操作。操作完成后会返回 信息,包括请求是否成功以及失败后的 错误 信息。
+resetPasswordButton:块 返回用于请求找回密码按钮,可以进行找回密码的操作。操作完成后会返回 信息,包括请求是否成功以及失败后的 错误 信息。
+thirdPartyLoginWithPlatform:withAppID:withAppSecret:withRedirectURL:withScope:andAuthData 调用这个方法会设置DUL 第三方登录信息。过程在上面的方法中成功授权后会返回 authData,包括授权平台所返回的信息。

注意:如果要使用 DUL 第三方登录,请先配置 HASNS 中的 -handleOpenURL: 方法。

HASession.h

这个类是「可信 ID」的请求方法接口类,该类中包含 authToken 和 currentUser 两个属性,在请求结束后,该类的属性中都会获取到相应的值。
名称 使用方法
-init HASession 对象实例化方法。
–requestSMSOneTimePassword:块 一次性密码的获取接口,请求结束后会返回 信息,包括请求是否成功以及请求失败后的 错误 信息。请求成功,对应的手机号码上会收到验证短信。
–loginWithIdentification:andKey:块 终端用户登录接口,需要传入账户,密码或者一次性密码进行登录申请,请求结束后会返回 信息,包括请求是否成功以及请求失败后的 错误 信息。
–registerWithPhoneNumber:oneTimePassword:password:userInfo:块 终端用户注册接口,需要传入手机号码,一次性密码,密码以及开发者所需的终端用户注册时附带的信息,请求结束后会返回 信息,包括请求是否成功以及请求失败后的 错误 信息。
–exchangeAccessTokenWithSMSOneTimePassword:块 提权接口,终端用户想要修改密码,需要在这里先进行提权申请,获取 accesstoken,请求需要传入一次性密码,请求结束后会返回 信息,包括请求是否成功以及请求失败后的 错误 信息。
–resetPasswordWithAccessToken:newPassword:块 重置密码接口,需要传入 accessToken 和新密码,请求结束后会返回 信息,包括请求是否成功以及请求失败后的 错误 信息。
-logout 登出可信ID
–updateCurrentUser:块 上传终端用户个人信息,传入信息格式为 Dictionary,请求结束后会返回 信息,包括请求是否成功以及请求失败后的 错误 信息。
–refreshCurrentUser 本地刷新当前用户的个人信息,请求结束后会返回 信息,包括请求是否成功以及请求失败后的 错误 信息。
authToken 向服务器进行登录请求时获取到的令牌。
authTokenExpirationTime 服务器登录请求获取到的令牌的有效时间。
accessToken 提权请求成功后返回的令牌。
accessTokenExpirationTime 提权请求成功后返回令牌的有效时间。
currentUser 登录申请成功后,用户的 HAUser 属性信息。

HASNS.h

这个类是「可信用户系统」的第三方登录接口类。在使用「可信用户系统」时,调用该类中的方法,即可使用第三方平台账号进行授权登录。
名称 使用方法
-loginWithBlock 根据第三方平台类型进行授权登录。登录完成后会返回 信息,包括登录是否成功以及失败后的 错误 信息。
-handleOpenURL 处理授权后返回的信息。需要在 AppDelegate.m 中 添加 - application:openURL:sourceApplication:annotation: 方法。
type 平台种类
appID 平台 appID
appSecert 平台 appSecret
redirectURL 平台回调地址
scope 平台应用权限
authData 平台授权返回数据

HAUser.h

这个类是「可信 ID」的终端用户信返回类,开发者在调用用户登录方法时,传入初始化的该对象,请求成功后该对象就会附带有用户对应的信息包括 userID 、userName 、phoneNumber 和 email 四个属性。
名称 使用方法
-init HAUser 对象的实例化方法,对象实例化之后,可以对里面的 userIDuserNamephoneNumberemailAddress 的属性进行读取。
userID 用户的 UserID 信息。
phoneNumber 用户的手机号码信息。
emailAddress 用户的邮箱信息。
userName 用户注册后得到的用户名。