Cidaas 1.4.2

Cidaas 1.4.2

[Cidaas]维护。



 
依赖于
Alamofire~> 5.1
CryptoSwift~> 1.3
SwiftKeychainWrapper~> 3.4
AnyCodable-FlightSchool~> 0.4.0
 

Cidaas 1.4.2

  • Cidaas

Logo

关于 cidaas

cidaas 是一个快速且安全的云身份和访问管理解决方案,它标准化了重要的功能,并简化了复杂的功能。

功能集包括

  • 基于 OAuth 2.0、OpenID Connect、SAML 2.0 的单点登录(SSO)
  • 支持超过 14 种验证方法的多因素认证,包括 TOTP 和 FIDO2
  • 无密码认证
  • 社交登录(例如 Facebook、Google、LinkedIn 等)以及企业身份提供者(例如 SAML 或 AD)
  • 机器到机器(M2M)和物联网(IoT)中的安全性

Cidaas SDK for IOS V2

Build Status Platform

您可以在这里找到更改日志

以下步骤将指导您使用 cidaas SDK 在应用程序中设置和管理身份验证和授权。

目录

需求

操作系统 Xcode Swift
iOS 10.0或更高版本 9.0或更高版本 3.3或更高版本

安装

Cidaas通过CocoaPods提供。要安装它,只需将以下行添加到您的Podfile中

pod 'Cidaas'

仅使用核心功能并减小依赖大小

pod 'Cidaas/Core'

入门

以下步骤用于使用此cidaas SDK:

创建名为Cidaas.plist的plist文件,并填写所有键值对。输入项如下。

示例plist文件如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>DomainURL</key>
        <string>Your Domain URL</string>
        <key>RedirectURL</key>
        <string>Your redirect url</string>
        <key>ClientId</key>
        <string>Your client id</string>
        <key>CidaasVersion</key>
        <string>Your instances major Cidaas Version</string>
    </dict>
</plist>

以下部分将帮助您生成plist所需的一些信息。

获取客户端ID和URL

在与第三方应用程序集成的过程中,您可能希望模块化交互和属性。例如,作用域、角色、授权类型、重定向URL等,您可能希望将它们组合到一个配置或设置中。这可以通过创建应用程序或客户端来实现。

初始化

将cidaas SDK集成到应用程序中的第一步是初始化过程。

var cidaas = Cidaas();

或使用共享实例

var cidaas = Cidaas.shared

使用方法

原生浏览器登录

经典登录

您可以使用本机浏览器登录,登录成功后将被重定向到应用程序。要使用本机浏览器登录,请调用 loginWithBrowser()

var extraParams = Dictionary<String, String>()
extraParams[scopes]="offline_access phone"
cidaas.loginWithBrowser(delegate: self, extraParams: extraParams) {
    switch $0 {
        case .success(let successResponse):
            // your success code here
            break
        case .failure(let error):
            // your failure code here
            break
    }
}

社交登录

您还可以使用本机浏览器进行社交登录,登录成功后将被重定向到应用程序。要进行社交登录,请调用 loginWithSocial()

cidaas.loginWithSocial(provider: "your_social_provider", delegate: self) { 
    switch $0 {
        case .success(let successResponse):
            // your success code here
            break
        case .failure(let error):
            // your failure code here
            break
    }
}

社交提供者可以是 Facebook、Google、LinkedIn 或其他任何提供者

使用 customSchemeuniversalLinks 从浏览器返回应用程序。

Note : Don't forget to add the custom scheme url in your App's redirect url section

WKWebview集成

在故事板中拖放一个空视图

在属性窗口中将类的名称更改为 CidaasView

为该类创建一个 IBOutlet 并将其视为对象

@IBOutlet var cidaasView: CidaasView! 

继承 WKNavigationDelegate 并调用方法

func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
    cidaasView.webView(webView, didStartProvisionalNavigation: navigation)
}

func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
    cidaasView.webView(webView, didFail: navigation, withError: error)
}

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
    cidaasView.webView(webView, decidePolicyFor: navigationAction, decisionHandler: decisionHandler)
}

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    cidaasView.webView(webView, didFinish: navigation)
}

    调用 loginWithEmbeddedBrowser() 函数并获取访问令牌作为回调    

cidaasView.loginWithEmbeddedBrowser(delegate: self) {
    switch $0 {
        case .success(let successResponse):
            // your success code here
            break
        case .failure(let error):
            // your failure code here
        break
    }
}  

截图

Screen 1 Screen 2