Authing 知识库
🛠 开发资源🥂 集成案例🔭 常见问题🖥 控制台
3.0.0
3.0.0
  • 欢迎
  • Authing 概述
  • 快速开始
    • 注册 Authing 开发者账号
    • 第一个应用
    • 基础概念
    • 实现单点登录
    • 控制台概览
    • 部署模型和价格
    • 最佳开发实践
    • 我该如何选择 Authing 的技术
  • 进阶指南
    • 理解认证和授权
      • 用户名 - 密码认证
      • 邮箱 - 密码认证
      • 手机 - 验证码认证
      • JWT Token 释义及使用
    • 验证 Token
    • 配置用户权限
    • 迁移老数据进 Authing
    • 错误代码
  • 认证
    • 接入 OAuth 2.0
      • 创建 OAuth 应用
      • 使用 OAuth 授权
    • 接入 OpenID Connect
      • 创建 OIDC 应用
      • 使用 OIDC 授权
      • 理解 OIDC 流程
      • OIDC 常见问题
    • 接入 SAML
      • 创建 SAML Identity Provider 应用
      • 创建 SAML Service Provider 应用
      • 理解 SAML 流程
      • 同时使用 Authing 作为 SP 和 IdP
      • 使用 SAML Identity Provider
        • 在阿里云访问管理中使用
        • 在腾讯云访问管理中使用
        • 在 Auth0 中使用
      • 使用 SAML Service Provider
        • 与 Auth0 SAML IdP 对接
        • 与 SSOCircle SAML IdP 对接
    • 接入 LDAP
      • 配置 LDAP 服务
      • 使用 Authing 的 LDAP 用户目录
    • 接入 Active Directory
  • 社会化登录
    • 接入 Web 端社会化登录
      • GitHub 登录
      • 微信 PC 扫码登录
      • 微信 APP 内网页登录
      • 企业微信(第三方应用)网页授权登录
      • 企业微信(第三方应用)扫码登录
      • 企业微信(企业内部)扫码登录
      • 新浪微博登录
      • 钉钉登录
      • QQ 登录
      • 配置登录授权 Scope
    • 接入移动端社会化登录
      • 微信登录
      • 支付宝登录
    • 接入小程序登录
      • 小程序登录
        • 用户登录凭证(code)最佳实践
      • APP 拉起小程序登录
    • 打通微信账号体系
  • 扫码登录
    • 小程序扫码登录
      • 接入私有化小程序
    • APP 扫码登录
      • 快速接入
      • Web 端 SDK
      • 完整接口列表
      • 自定义配置项
      • 扫码登录原理
  • 移动应用登录
    • 移动应用 SSO
      • 自动检测登录
      • 唤起 App 登录
    • 移动应用身份提供商
  • 授权
    • Authorization 基础概念
      • 什么是基于角色的管理(RBAC)
      • 什么是基于属性的管理(ABAC)
      • 什么是零信任网络
    • Authorization at Authing
    • 接入 RBAC
    • 接入 ABAC
    • 接入组织机构管理
  • 扩展能力
    • 自定义认证流程(Pipeline)
      • 创建你的第一个 Pipeline 函数
      • Pipeline 函数开发指南
      • 应用场景
      • user 对象
      • context 对象
      • 使用环境变量
      • 可用的 Node Modules
      • 如何调试
      • Node SDK
      • GraphQL API
      • 常见问题
      • 私有化部署
    • 使用 Webhook
    • 自定义用户字段
  • 开发资源
    • 开发资源
    • API(GraphQL)
    • Guard for Web
      • 自定义 Guard 的 UI 样式
    • Guard for Mobile
      • Guard for React Native
    • Guard VS 自定义 UI
    • SDK for 单点登录
    • SDK for JavaScript
      • 查询用户权限
      • 绑定社会化登录
      • 自定义用户字段
      • 管理 MFA 口令
      • 自定义请求链接
    • SDK for Node.js
      • 权限控制
      • 查询用户权限
      • 组织机构管理
      • 老版权限控制(deprecated)
      • Pipeline 函数
      • 自定义用户字段
      • 绑定社会化登录
      • 管理 MFA 口令
      • 自定义请求连接
    • SDK for React Native
    • SDK for 微信小程序
    • SDK for Java
    • SDK for Objective-C
    • SDK for Python
    • SDK for Go
    • SDK for PHP
    • 函数计算(FaaS)
  • 通信
    • 邮件
    • SMS
  • MFA
    • 配置 MFA 安全口令
      • 使用 Microsoft Authenticator 添加 MFA 令牌
    • 接入 MFA
  • 安全
    • 配置 Web 安全域
    • 配置用户池密码强度
    • 配置密码加密函数
  • 其他
    • 常见问题
    • 集成案例
      • Authing 与 AWS 集成案例
      • 函数计算与 AaaS 集成案例
      • Odoo 集成案例
      • 社会化登录集成案例
    • 社交互联数据
    • 为 Authing 贡献 SDK
      • 了解 Authing 的模块
Powered by GitBook
On this page

Was this helpful?

  1. 开发资源

SDK for Objective-C

PreviousSDK for JavaNextSDK for Python

Last updated 5 years ago

Was this helpful?

Github 地址:

目前 iOS 的 SDK 只能从 OC 的源码集成,接口参考,返回值说明参考:

接口头文件定义

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

typedef void (^success) (NSDictionary *value);
typedef void (^faile) (NSDictionary *value);

@interface AuthingManager : NSObject
+ (instancetype)shareAuthingSDK;
/**
 * 注册SDK
 * parameter的key
 * clientId
 * secret
 * user
 * oauth
 */
- (void)registerSDKWithClientId:(NSString *)clientId
                        success:(success)success
                          faile:(faile)faile;

/**
 * 登录
 * parameter的key说明
 * email
 * password
 * unionid,若不使用 email 和 password 则 unioinid 必选
 * verifyCode,可选,频繁注册时会要求输入验证码,返回数据会包含
 * lastIP,可选,若连续出现验证码验证失败情况,请将客户端 IP 填入
 * device,设备类型
 */
- (void)loginWithParameter:(NSDictionary *)parameter
                   success:(success)success
                     faile:(faile)faile;

/**
 * 注册
 * parameter的key说明
 * email
 * password
 * unionid,若不使用 email 和 password 则 unionid 必选
 * oauth 可选,oauth 信息的字符串,或者其他自定义的用户字段都可以以 JSON 字符串的形式存在这里
 * username,可选,用户名
 * nickname,可选,昵称
 * company,可选,公司名称
 * photo,可选,用户头像
 * lastIP,可选,用户登录的 IP 地址
 * device,设备类型
 */
- (void)registerWithParameter:(NSDictionary *)parameter
                      success:(success)success
                        faile:(faile)faile;

/**
 * 发送手机验证码
 * parameter的key说明
 * phone 手机号
 */
- (void)getVerificationCode:(NSDictionary *)parameter
                    success:(success)success
                      faile:(faile)faile;

/**
 * 使用手机验证码登录
 * parameter的key说明
 * phone,必填,手机号
 * phoneCode,必填,使用发送短信接口获取
 * device,设备类型
 */
- (void)loginByPhoneCode:(NSDictionary *)parameter
                 success:(success)success
                   faile:(faile)faile;

/**
 * 使用 LDAP 登录
 * parameter的key说明
 * username,在 LDAP 服务中的登录名,可以是邮箱或用户名
 * password,在 LDAP 服务中的密码
 * device,设备类型
 */
- (void)loginByLDAP:(NSDictionary *)parameter
            success:(success)success
              faile:(faile)faile;

/**
 * 刷新用户 Token
 * parameter的key说明
 * user 必填,用户的 _id
 */
- (void)reloadUser:(NSDictionary *)parameter
           success:(success)success
             faile:(faile)faile;

/**
 * 退出
 * parameter的key说明
 * user 必填,用户的 _id
 */
- (void)logout:(NSDictionary *)parameter
       success:(success)success
         faile:(faile)faile;

/**
 * 获取单个用户资料
 * parameter的key说明
 * user 必填,用户的 _id
 */
- (void)getUserMessage:(NSDictionary *)parameter
               success:(success)success
                 faile:(faile)faile;

/**
 * 一次性获取多个用户的资料
 * parameter的key说明
 * user 必填,用户的 _id
 */
- (void)getUserPatch:(NSDictionary *)parameter
             success:(success)success
               faile:(faile)faile;

/**
 * 获取用户列表
 * parameter的key说明
 * page Default: 1
 * count Default: 10
 */
- (void)getUserList:(NSDictionary *)parameter
            success:(success)success
              faile:(faile)faile;

/**
 * 删除用户
 * parameter的key说明
 * user 必填,用户的 _id
 */
- (void)deleteUser:(NSDictionary *)parameter
           success:(success)success
             faile:(faile)faile;

/**
 * 获取用户权限和角色
 * parameter的key说明
 * userId
 */
- (void)queryPermissions:(NSString *)userId
                 success:(success)success
                   faile:(faile)faile;

/**
 * 获取应用下所有角色
 * parameter的key说明
 * page: 第几页,选填,默认为 1
 * count: 总数,选填,默认为 10
 */
- (void)queryRoles:(NSDictionary *)parameter
           success:(success)success
             faile:(faile)faile;

/**
 * 创建用户角色
 * parameter的key说明
 * name: 角色名称,必填
 * descriptions: 角色描述,必填
 */
- (void)createRole:(NSDictionary *)parameter
           success:(success)success
             faile:(faile)faile;

/**
 * 修改角色权限
 * parameter的key说明
 * name: 角色名称,必填
 * roleId: 角色 ID,必填
 * permissions: 角色权限,必填。输入自定义的权限字符串,可以是 JSON 或数组;之后可以通过 API 获取此处设置的权限既而实现自己的业务逻辑。
 */
- (void)updateRolePermissions:(NSDictionary *)parameter
                      success:(success)success
                        faile:(faile)faile;
/**
 * 指派用户到某角色
 * userId
 */
- (void)assignUserToRole:(NSString *)userId
                 success:(success)success
                   faile:(faile)faile;

/**
 * 将用户从某角色中移除
 * parameter的key说明
 * roleId: 角色 ID,必填
 * user: 要指派的用户 ID,必填
 */
- (void)removeUserFromRole:(NSDictionary *)parameter
                   success:(success)success
                     faile:(faile)faile;

/**
 * 将用户从某角色中移除
 * parameter的key说明
 * _id {String} 必填
 * email {String},选填
 * emailVerified: {Boolean},选填,邮箱是否经过验证
 * username: {String},选填
 * nickname: {String},选填
 * company: {String},选填
 * phone: {String},选填
 * oauth: {String},选填,oauth 信息
 * browser: {String},选填,用户注册时所用的浏览器
 * password: {String},选填,用户密码
 * oldPassword: {String}(当有 password 时,旧密码参数必需填写)
 * token: {String},选填
 * tokenExpiredAt: {String},选填,token 过期时间
 * loginsCount: {Number},选填,登录次数
 * lastLogin: {String},选填,最后登录时间
 * lastIP: {String},选填,最后登录 IP
 * signedUp: {String},选填,注册时间
 * blocked: {Boolean},选填,是否被锁定
 * isDeleted: {Boolean},选填,是否被删除
 */
- (void)updateUserMessage:(NSDictionary *)parameter
                  success:(success)success
                    faile:(faile)faile;
@end

NS_ASSUME_NONNULL_END
头文件
https://learn.authing.cn/authing/sdk/authing-sdk-for-web
https://github.com/Authing/authing-oc-sdkgithub.com