iOS
O campo userRedirectUrl é usado para direcionar o usuário. Esse campo é recebido na resposta de sucesso da criação do processo ao realizar a requisição de Criação do Processo.
Aqui você encontrará a melhor de gerenciar a experiência do usuário em suas aplicação iOS:
Passo 1: Criar o controlador de autenticação
1 - O primeiro passo é criar o controlador de autenticação, e, para isso crie uma classe chamada UnicoAuthenticationController (ou como preferir chamar).
2 - Na sequência, importe o framework AuthenticationServices no topo da classe.
3 - Declare a classe como NSObject e implemente o protocolo ASWebAuthenticationPresentationContextProviding.
O resultado deve ser:
import AuthenticationServices
class UnicoAuthenticationController: NSObject, ASWebAuthenticationPresentationContextProviding {
func presentationAnchor(for session: ASWebAuthenticationSession) -> ASPresentationAnchor {
if let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
if let mainWindow = windowScene.windows.first {
return mainWindow
}
}
return ASPresentationAnchor()
}
}Passo 2: Implementar a autenticação
1 - Abra o arquivo onde você executa a autenticação e adicione as importações necessárias (como exemplo, o ContentView.swift é usado).
import SwiftUI
import AuthenticationServices2 - Para controlar o estado do fluxo é preciso criar a propriedade @State.
@State private var finished = false3 - Crie uma instância da classe UnicoAuthenticationController fora do corpo da estrutura ContentView.
let unicoController = UnicoAuthenticationController()4 - Para a validação do processo, crie uma função chamada redirectUser.
func redirectUser() {
guard let url = URL(string: "URL_AUTHENTICATION") else { return }
var session: ASWebAuthenticationSession?
session = ASWebAuthenticationSession(url: url, callbackURLScheme: "BUNDLE") { callbackURL, error in
guard callbackURL != nil else {
if let error = error {
return print("Erro durante o processo: \(error.localizedDescription)")
}
return
}
// Processa o URL de callback para verificar se o processo foi finalizado
session?.cancel()
finished = true
}
session?.presentationContextProvider = unicoController
session?.prefersEphemeralWebBrowserSession = true
session?.start()
}Também é possível utilizar o link gerado pelo by Unico em frameworks híbridos. Para isso, você pode criar uma bridge entre o framework utilizado com o nativo e seguir como sugerimos na documentação ou utilizar de alguma biblioteca que disponibilize essas opções de integração.
A integração da WebView na sua aplicação é de total responsabilidade do cliente, uma vez que esta funcionalidade não é oferecida como parte das bibliotecas ou SDKs da Unico. Por conta disso, não oferecemos suporte técnico para dúvidas ou problemas relacionados à implementação da WebView em seu aplicativo. Para obter orientações sobre a configuração, recomendamos consultar a documentação oficial da tecnologia utilizada em seu projeto (por exemplo, React Native, Flutter, etc).
Last updated
Was this helpful?