Swiftpack.co - INPS-it/SPIDlibraryIOS as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by INPS-it.
INPS-it/SPIDlibraryIOS 1.0.7
SPIDlibraryIOS is a library for logging in via SPID through several different identity providers.
⭐️ 52
🕓 41 weeks ago
iOS
.package(url: "https://github.com/INPS-it/SPIDlibraryIOS.git", from: "1.0.7")

SPIDlibraryIOS

SPIDlibraryIOS is a library for logging in via SPID through several different identity providers.

Requirements

  • iOS 11.0+
  • Xcode 11+
  • Swift 4+

Usage

  1. Add the following to your Package.swift:
.package(url: "https://github.com/INPS-it/SPIDlibraryIOS", .upToNextMajor(from: "1.0.6"))
  1. Declare import SPIDlibraryIOS in your ViewController.

  2. Implement the SpidDelegate protocol:

public class ViewController: UIViewController, SpidDelegate {

    func loginSuccess(response: SpidResponse) {
        print("Login Success")
    }
    
    func onError(error: SpidError) {
        print("Error")
    }
}
  1. Create a SpidConfig object containing the authPageUrl url, the callbackPageUrl url, the spidPageInfoUrl url, the requestSpidPageUrl url, an optional timeout int value (default value: 30sec), the identityProviderKeys object that contains the identity providers keys and the queryStringParams string:
 let identityProviderKeys = IdentityProviderKeys.init(aruba: Constants.IdentityProvider.aruba,
                                                      etna: Constants.IdentityProvider.etna,
                                                      infocamere: Constants.IdentityProvider.infocamere,
                                                      infocert: Constants.IdentityProvider.infocert,
                                                      lepida: Constants.IdentityProvider.lepida,
                                                      namirial: Constants.IdentityProvider.namirial,
                                                      poste: Constants.IdentityProvider.poste,
                                                      sielte: Constants.IdentityProvider.sielte,
                                                      spiditalia: Constants.IdentityProvider.spiditalia,
                                                      teamsystem: Constants.IdentityProvider.teamsystem,
                                                      tim: Constants.IdentityProvider.tim)
        
let spidConfig = SpidConfig.init(authPageUrl: Constants.authPageUrl, callbackPageUrl: Constants.callbackPageUrl, spidPageInfoUrl: Constants.spidPageInfoUrl, requestSpidPageUrl: Constants.requestSpidPageUrl, identityProviderKeys: identityProviderKeys, queryStringParams: Constants.queryStringParams)
  1. Present the SpidViewController instance:
SpidViewController.present(delegate: self, spidConfig: spidConfig)

License

SPIDlibraryIOS is released under the BSD 3-Clause License See LICENSE for details.

GitHub

link
Stars: 52
Last commit: 41 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

Release 1.0.7
41 weeks ago

In this release: • Added Intesi Group provider

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics