SPIDlibraryIOS is a library for logging in via SPID through several different identity providers.
.package(url: "https://github.com/INPS-it/SPIDlibraryIOS", .upToNextMajor(from: "1.0.6"))
Declare import SPIDlibraryIOS
in your ViewController.
Implement the SpidDelegate
protocol:
public class ViewController: UIViewController, SpidDelegate {
func loginSuccess(response: SpidResponse) {
print("Login Success")
}
func onError(error: SpidError) {
print("Error")
}
}
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)
SpidViewController
instance:SpidViewController.present(delegate: self, spidConfig: spidConfig)
SPIDlibraryIOS is released under the BSD 3-Clause License See LICENSE for details.
link |
Stars: 52 |
Last commit: 5 weeks ago |
In this release: • Removed Intesa provider • Added Etna and InfoCamere providers
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics