DigitalID_SDK 1.3.1

DigitalID_SDK 1.3.1

Maintained by Almas Adilbek, Izabek, Sergei Frolov.



 
Depends on:
DigitalIDZoomAuthenticationCordovaPlugin~> 0.6.0
Cordova>= 0
 

  • By
  • DigitalID

DigitalID iOS SDK

Требования:

  • iOS 11 и выше
  • Добавить NSCameraUsageDescription в info.plist
  • Добавьте в проект файл config.xml (пример в конце документации)
  • Урлы с кастомными схемами вида custom-url-scheme://my-url не поддерживаются

Установка с Cocoapods:

Podfile:

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

pod ‘DigitalID_SDK’, ‘1.3.0

Зависимости:

- Cordova iOS
- DigitalIDZoomAuthenticationCordovaPlugin

Пример:

import UIKit
import DigitalID_SDK

class ViewController: UIViewController {
    
    private var didController: DIDViewController?

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .white
    }
    
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

        let options = DigitalIDOptions()
        options.language = "ru"

        didController = DIDViewController(url: "https://app.gov.stage.digital-id.kz/oauth?response_type=code&client_id={client_id}&scope=ID_CARD&redirect_uri=https://www.egov.kz/digital-id-callback&state=EGOV", redirectUrl: "site.com/digital-id-callback", options: options)
        didController?.didDelegate = self
        self.present(didController!, animated: true, completion: nil)
    }
}

extension ViewController: DIDViewControllerDelegate {
    func didViewController(_ viewController: DIDViewController,
                           didTriggerRedirectUrl redirectUrl: String) {
        didController?.dismiss(animated: true, completion: nil)
        didController = nil
    }
}

url - адрес запуска DigitalID redirectUrl - адрес клиента, который должен полностью или частично быть частью redirect_uri в параметре url options - настройки сдк. Например можете настроить язык на котором будет запущен Digital ID.

Где, func didViewController(_ viewController: DIDViewController, didTriggerRedirectUrl redirectUrl: String) вызывается когда DigitalID переходит по переданному redirect_uri в параметре url

🍂

DigitalID SDK - во фреймворке DigitalIDZoomAuthenticationCordovaPlugin используем FaceTec (iOS SDK) от компании FaceTec

Пример config.xml файла

<?xml version='1.0' encoding='utf-8'?>
<widget id="io.cordova.helloCordova" version="2.0.0" xmlns="http://www.w3.org/ns/widgets">
    <name>HelloCordova</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="[email protected]" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="https://app.gov.stage.digital-id.kz/" />
handle
    <plugin name="cordova-plugin-whitelist" spec="1" />
    <access origin="*" launch-external="no"/>
    <allow-navigation href="http://*/*" />
    <allow-navigation href="https://*/*" />
    
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
    <preference name="AllowInlineMediaPlayback" value="false" />
    <preference name="BackupWebStorage" value="cloud" />
    <preference name="DisallowOverscroll" value="false" />
    <preference name="EnableViewportScale" value="false" />
    <preference name="KeyboardDisplayRequiresUserAction" value="true" />
    <preference name="MediaPlaybackRequiresUserAction" value="false" />
    <preference name="SuppressesIncrementalRendering" value="false" />
    <preference name="SuppressesLongPressGesture" value="false" />
    <preference name="Suppresses3DTouchGesture" value="false" />
    <preference name="GapBetweenPages" value="0" />
    <preference name="PageLength" value="0" />
    <preference name="PaginationBreakingMode" value="page" />
    <preference name="PaginationMode" value="unpaginated" />
    <feature name="LocalStorage">
        <param name="ios-package" value="CDVLocalStorage" />
    </feature>
    <feature name="HandleOpenUrl">
        <param name="ios-package" value="CDVHandleOpenURL" />
        <param name="onload" value="true" />
    </feature>
    <feature name="IntentAndNavigationFilter">
        <param name="ios-package" value="CDVIntentAndNavigationFilter" />
        <param name="onload" value="true" />
    </feature>
    <feature name="GestureHandler">
        <param name="ios-package" value="CDVGestureHandler" />
        <param name="onload" value="true" />
    </feature>
    <feature name="Console">
        <param name="ios-package" value="CDVLogger" />
    </feature>
    <feature name="FaceTecSDK">
          <param name="ios-package" value="FaceTecCordovaSDK" />
    </feature>
    <preference name="StatusBarOverlaysWebView" value="false" />
    <preference name="StatusBarStyle" value="default" />
    <platform name="ios">
        <preference name="WKWebViewOnly" value="true" />

        <feature name="CDVWKWebViewEngine">
            <param name="ios-package" value="CDVWKWebViewEngine" />
        </feature>

        <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
    </platform>
</widget>