...
Índice |
---|
...
|
...
|
...
|
...
O fluxo de login integrado no SDK serve para facilitar a construção de aplicativos na plataforma fluig, provendo um meio de efetuar login sem explicitamente programar todas as etapas necessárias.
...
Para integrar o login no seu aplicativo, siga os seguintes passos:
fluigSDKFlows.framework
do SDK foi adicionado como dependência no seu projeto.Na AppDelegate do seu projeto, chame o método startAsRoot da classe LoginFlow
. Para instanciar LoginFlow
, passe estático start(::) classe LoginFlow
passando o tipo de navegação (root para iniciar o fluxo substituindo o UIViewController principal da janela ou from para iniciar a partir de um UIViewController) usado para iniciar o fluxo e uma instância de LoginFlowConfiguration
como único parâmetro. A classe LoginFlowConfiguration é responsável principalmente pela personalização do fluxo de login. Todos os parâmetros de LoginFlowConfiguration
são opcionais. Um dos parâmetros possíveis é onSuccessReplaceRootWith
que é um UIViewController
para o qual deseja que o login redirecione após sua conclusão. Ao terminar o fluxo, caso esse parâmetro não tenha sido fornecido, será enviado uma Notification
informando que o usuário conseguiu se logar com sucesso.
Bloco de código | ||||
---|---|---|---|---|
| ||||
import UIKit import fluigSDKFlows @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { let viewController = MyAppViewController() window = UIWindow(frame: UIScreen.main.bounds) window?.makeKeyAndVisible() window?.rootViewController = viewController let configuration = LoginFlowConfiguration(onSuccessReplaceRootWith: viewController) LoginFlow.start(configurationmode: configuration).startAsRootroot(window!), configuration: window!configuration) return true } } |
No caso de não informar a tela desejada como parâmetro no LoginFlowConfiguration
, é recomendado que implemente no seu UIViewController
o receptor da Notification
enviada pelo fluxo de login.
Bloco de código | ||||
---|---|---|---|---|
| ||||
import UIKit import fluigSDKFlows class MyAppViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() ... NotificationCenter.default.addObserver(self, selector: #selector(onLoginFlowEnd), name: Notification.Name.fluigSdkDidLogin, object: nil) } @objc func onLoginFlowEnd() { present(LoggedViewController(), animated: true) } } |
Nota | ||
---|---|---|
| ||
Caso seu servidor esteja configurado para utilizar o MFA, é necessária mais uma configuração no seu projeto. |
Âncora |
---|
...
|
...
|
Durante o fluxo de login, é possível que o usuário seja apresentado a uma tela de token de MFA, caso o servidor tenha essa configuração habilitada. Neste caso, será apresentado um botão para abrir o aplicativo relacionado a geração do token.
...
Caso esteja mais familiarizado com o editor padrão de property lists do Xcode, confira abaixo o mesmo exemplo de Info.plist
.
...
...
...
Na seção Integração, é possível notar a presença de uma classe responsável por diversas personalizações do fluxo de login denominada LoginFlowConfiguration. Esta seção expõe que elementos são esses e como alterá-los para aderir às suas preferências.
Âncora | ||||
---|---|---|---|---|
|
Para ativar a integração biométrica do dispositivo no login basta usar a opção useBiometryIfAvailable da classe LoginFlowConfiguration.
Âncora | ||||
---|---|---|---|---|
|
Por padrão o login é exigido apenas na primeira vez que o aplicativo é aberto e uma sessão é mantida para o usuário, caso necessário, é possível exigir que o usuário autentique todas as vezes que ele entrar no aplicativo usando a opção alwaysRequireAuthentication da classe LoginFlowConfiguration.
Âncora | ||||
---|---|---|---|---|
|
Por padrão são exibidas ao usuário ambas as opções de login, caso necessário é possível indicar ao fluxo que não exiba a opção de login avançado (para quando não existe a integração com o fluig Identity e é necessário usar o endereço do servidor) usando a opção enableAdvancedLogin da classe LoginFlowConfiguration.
Âncora | ||||
---|---|---|---|---|
|
O fundo das telas do login foi feito com o componente FluigSDKMediaView
. Este componente permite utilizar: vídeo, imagem, uma cor sólida ou um gradiente horizontal de duas cores.
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
import fluigSDKFlows let configuration = LoginFlowConfiguration(background: .gradient(.blue, UIColor(red: 213.0/255.0, green: 40.0/255.0, blue: 121.0/255.0, alpha: 1.0)) |
...
No topo de cada tela do fluxo há o logo da empresa. Por padrão, o logo mostrado é do fluig. Para alterar o logo, atribua ao parâmetro logoImage
a UIImage
desejada no construtor da classe LoginFlowConfiguration
.
...