Simple Auth é a maneira mais simples de autenticar seus usuários/apis. Este plugin armazenará de forma segura tokens/credenciais e apresentará automaticamente a interface de login quando necessário.
Orientação gerada a partir de informações públicas. Apenas para referência.
Simple Auth Flutter é um pacote leve de autenticação que simplifica a autenticação de usuários em aplicativos Flutter. Ele armazena com segurança tokens e credenciais, apresenta automaticamente a interface de login quando necessário e se integra sem problemas com vários provedores de identidade. Projetado para facilitar o uso, reduz o código boilerplate enquanto mantém as melhores práticas de segurança. O plugin é compatível com Android, iOS e macOS, tornando-o ideal para aplicações multiplataforma que precisam de fluxos de autenticação simples.
Casos de uso
Login do usuário e gerenciamento de sessão
Reautenticação automática
Armazenamento seguro de token
Integração com provedores OAuth
Autenticação multiplataforma
Principais recursos
Armazenamento seguro de credenciais
Prompt de interface de usuário de login automático
Configuração mínima
Suporta múltiplas plataformas
Persistência de token embutido
Indicado para
Desenvolvedores iniciantes do Flutter
Aplicativos que exigem autenticação básica
Projetos com prazos apertados
Aplicativos móveis multiplataforma
Fluxos de login simples
Considerações
Personalização limitada para telas de login
Não adequado para fluxos de autenticação complexos
Depende das implementações de provedores externos
Sem registro de usuário embutido
Requer um tratamento cuidadoso da lógica de atualização de token
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Most apps need to make API calls. Every API needs authentication, yet no developer wants to deal with authentication. Simple Auth embeds authentication into the API so you dont need to deal with it.
And of course any standard OAuth2/Basic Auth server.
Usage
var api = new simpleAuth.GoogleApi(
"google", "client_id",clientSecret: "clientSecret",
scopes: [
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/userinfo.profile"
]);
var request = newRequest(HttpMethod.Get, "https://www.googleapis.com/oauth2/v1/userinfo?alt=json");
var userInfo = await api.send<UserInfo, UserInfo>(request);
That's it! If the user is not logged in, they will automatically be prompted. If their credentials are cached from a previous session, the api call proceeds! Expired tokens even automatically refresh.
Flutter Setup
Call SimpleAuthFlutter.init(); in your Main.Dart. Now Simple Auth can automatically present your login UI
Redirect
Google requires the following redirect: com.googleusercontent.apps.YOUR_CLIENT_ID
Simple Auth by default uses SFSafari on iOS and Chrome Tabs on Android.
This means normal http redirects cannot work. You will need to register a custom scheme for your app as a redirect. For most providers, you can create whatever you want. i.e. com.myapp.foo:/redirct
Android Manifest
you would then add the following to your Android manifest
Note, if you want to avoid Apples mandatory user consent dialog
"foo" Wants to use "bar.com" to Sign In
This allows the app and website to share information about you.
add the lines above and set FooAuthenticator.useSSO = false; which will not use SFAuthenticationSession on iOS, and ASWebAuthenticationSession on macOS. This is the default behavior for the Keycloak provider.
Serialization
Json objects will automatically serialize if you conform to JsonSerializable
If you use the generator and you objects have the factory factory JsonSerializable.fromJson(Map<String, dynamic> json) your api calls will automatically Serialize/Deserialize
Or you can pass your own Converter to the api and handle conversion yourself.