Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Autenticação e autorização no android.

Olá galera!

Estive pesquisando sobre autenticação e autorização no android e me deparo com muitos tutoriais incluindo PHP e MySQL, mas também encontrei tutoriais usando apenas android.

Minha dúvida é se o login em endroid é apenas isso mesmo, cru como esse tutorial Login Android?

Cru que eu falo é ter uma classe que extrai os campos login e senha busca no banco e se confirmados redireciona para a View correta.

E a autorização como fica?

3 respostas
solução!

Esse exemplo que você viu no tutorial é bem básico, com alguns problemas de segurança (acredito que intencionalmente, por fugir do escopo do tutorial). Ele fere um lema que diz:

"Nunca armazene informações sensíveis somente no lado do usuário. Se um dado está somente no aparelho do usuário, esse dado pode ser alterado."

No mundo real, fazemos algumas validações externas, usando dados armazenados no nosso servidor, para garantir a integridade dos dados armazenados no aparelho.

Existem várias formas legais de lidar com autenticação, sendo que a mais usada é via Oauth2.

Claro, é apenas um tutorial para exemplificar e facilitar o entendimento. O que preciso é: assim como as uma aplicação web que tem o Spring Security, Apache JaaS etc. Como funciona no android a autorização, como, de acordo com o perfil de usuário, permitir que ele acesso uma view ou funcionalidade?

Pelo exemplo que você citou, é preciso criar uma conta no aparelho, como gmail, facebook e outras para poder usá-la no app. Mas ainda não responde.

Mas que pesquisei existe o IntentFilter. Acho que isso responde minha dúvida. mas vou continuar pesquisando.

Não há nada na documentação do Android que ofereça essa funcionalidade que você procura. Esse tipo de autorização é feito no seu servidor, como disse na minha mensagem anterior.

A classe IntentFilter serve para que possamos filtrar ou especificar quais Intent serão responsáveis por disparar determinada classe da nossa aplicação. Usamos IntentFilter para dizer qual será a Activity principal, mas também precisamos desse "filtro" quando manipulamos BroadcastReceiver e quando disparamos broadcasts.