Skip to content

About

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

Resources

Stars

53 stars

Watchers

9 watching

Forks

Latest commit

 

History

29 Commits

Folders and files

Repository files navigation

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.9"))
  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, the queryStringParams string and an optional showCloseButton Bool value to show or hide the close button in the identity providers and login screens (default value: true):
 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, showCloseButton: true)
  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.

About

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

Resources

Stars

53 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages