MASFoundation 2.4.00

MASFoundation 2.4.00

许可证 MIT
发布日期最新发布2023年11月

Luis SanchesRob WeberJames GoBritton KatnichYasmeen TajSyed YusufSyed Yusuf维护。



MASFoundation 是 iOS Mobile SDK 的核心 iOS 框架,是 CA Mobile API Gateway 的一部分。MASFoundation 处理 iOS Mobile SDK 的通信和认证层,使开发者能够轻松地建立安全的连接(TLS,相互 SSL)到任何 CA Mobile API Gateway (MAG)。

特性

MASFoundation 框架具有以下特性

  • 身份验证
    • OAuth
    • OIDC - OpenID Connect
    • BLE
    • 动态客户端 ID 和客户端密钥
    • 二维码
    • 社交登录
    • 单一登录
    • OTP - 单次密码
    • PKCE - 密码交换证明密钥
    • SSL 检查,可使用证书,公钥或公钥哈希
    • 指纹会话锁定 - 支持使用指纹识别解锁手机
  • 动态 SDK 配置
  • 企业浏览器
  • 地理位置

入门

通信

  • 有一般性问题或需要帮助?请在 Stack Overflow 上提问。(标记 'massdk')
  • 发现一个错误?请按重现步骤提交问题。
  • 请求一个功能或有一个想法?请提交问题。

如何做出贡献

欢迎并十分感谢贡献力量。了解更多,请参阅贡献指南

安装

MASFoundation 支持多种方法将库集成到项目中。

Cocoapods (Podfile) 安装

要使用 CocoaPods 将MASFoundation 集成到您的 Xcode 项目中,请在 Podfile 中指定它:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'

pod 'MASFoundation'

然后,使用命令提示符从您的项目文件夹中运行以下命令

$ pod install

手动安装

对于手动安装,将 Mobile SDK 添加到您的 Xcode 项目中。请注意,您必须添加 MASFoundation 库。为了完全使用 MAS 功能,必须安装所有 MAS 库,如所示。

  1. 在 Xcode 中打开您的项目。
  2. 将 SDK 库文件拖动到 Xcode 左侧导航器面板中的项目中。选择 如果需要则复制项目 选项。
  3. 选择 文件->将文件添加到 '项目名称' 并将项目文件夹中的 msso_config.json 文件添加到项目中。
  4. 在 Xcode "项目目标" 的 "构建设置" 中,为 其他链接器标志 添加 -ObjC
  5. 将以下 Mobile SDK 库头文件导入到类中,或者在您的项目中存在 .pch 文件时导入到 .pch 文件中。
#import <MASFoundation/MASFoundation.h>

设置项目和启动 SDK

要启动您的项目,请参见开发网站

在您的项目配置妥善后,您必须启动SDK以与后端服务建立安全的连接。启动过程包括:初始化库所需的必要服务(例如地理位置、蓝牙和网络安全服务),以及加载配置。

理想情况下,SDK启动应在应用启动之前进行处理(在您应用的启动画面/加载画面期间)。我们建议您在启动方法成功完成后处理与后端服务的任何通信。否则,安全通信无法保证并且可能会失败。

MASFoundation包含了以下启动SDK的方法。

使用标准方法启动
    //Initializing the SDK.
    [MAS start:^(BOOL completion, NSError *error) {
        //Your code here!
    }];

此方法使用当前有效的配置启动SDK。一个当前有效的配置是:1)最后一次成功使用的配置,2)默认的JSON配置文件(即在您的应用bundle中的msso_config.json)或3)在中定义的自定义JSON配置文件。

推荐用于:包括生产环境在内的多数环境。

使用默认配置启动
    //Initializing the SDK.
    [MAS startWithDefaultConfiguration:YES completion:^(BOOL completed, NSError *error)
        //Your code here!
    }];

此方法使用当前有效的配置或默认配置(取决于参数)来启动SDK。如果您指定了YES参数,则该参数会覆盖当前有效的配置并使用默认配置(如果两个配置不相同)。如果您传递了NO参数,则其行为与[MAS start:];相同。如果SDK已经启动,则此方法:停止SDK,然后使用自定义JSON对象重新启动它。

推荐用于:配置经常更改的开发环境。

使用自定义JSON启动
  //Your custom JSON object.
  NSDictionary *jsonObject = @{....};
    
  //Initializing the SDK with custom JSON object.
  [MAS startWithJSON: jsonObject completion:^(BOOL completed, NSError *error) {
    //Your code here!
  }];

此方法使用在NSDictionary中定义的自定义JSON对象启动SDK。此方法将覆盖当前有效的配置并使用自定义JSON对象,并将它存储为活动配置。如果SDK已经启动,则此方法:停止SDK,然后用自定义JSON对象重新启动它。

推荐用于:使用多个MAG服务器,您可以在运行时动态更改配置。注意:后端服务器必须具有支持动态配置的产品版本。

使用文件URL启动
    NSString *jsonPath = [[NSBundle mainBundle] pathForResource:@"your_file_name"
                                                         ofType:@"json"];
    NSURL *thisURL = [NSURL fileURLWithPath:jsonPath];
    
    //Initializing the SDK with file URL of JSON configuration.
    [MAS startWithURL:thisURL completion:^(BOOL completed, NSError *error) {
        //Your code here!
    }];

此方法使用自定义JSON配置文件启动SDK。自定义文件可以使用NSURL格式定义,这表示自定义文件的路径。此方法将覆盖当前有效的配置并使用自定义JSON文件,并将其存储为活动配置。如果SDK已经启动,则此方法:停止SDK,然后使用自定义JSON文件重新启动它。

SDK只接受带有本地文件路径的NSURL。如果提供了Web URL,则启动方法将失败。

推荐用于:使用多个MAG服务器,您可以在运行时动态更改配置。注意:后端服务器必须具有支持动态配置的产品版本。

文档

有关更多文档和API参考,请访问我们的主网站

许可证

版权所有(c)2016 CA。保留所有权利。

本软件可根据以下许可条款进行修改和分发。
请参阅LICENSE文件以获取详细信息。