Sabe quais as melhores práticas para integrar sua aplicação Mobile com um servidor OAuth 2.0? Veja neste artigo o que o OAuth Group recomenda.

A melhor prática atualmente é utilizar o AppAuth.

Se sua empresa possui uma aplicação Mobile e um servidor OAuth 2.0. E seu time tentou fazer essa integração, talvez uma boa palavra para descrever o sentimento seja: Frustante.

Já tentou integrar sua APP Mobile com seu SSO? Todos os fluxos do protocolo envolvem redirecionar o usuário via browser e isso não deixa nenhum time de UX feliz.

Se comparado com as integrações de Clients Angular, Reacts e VueJS o AppAuth para aplicações nativas (Android e IOS), definitivamente, não é fácil integrar.

Para não seguir nesse caminho, alguns times criam uma integração através de Resource Owner Password Credential, que atualmente foi considerado Deprecated pelo OAuth Group.

O que o OAuth Group diz?

OAuth 2.0 for Native Apps

Existe uma RFC que trata desse problema. RFC 8252.

A RFC diz que a atual melhor prática para autorizar usuários em aplicações nativas, é utilizar o Browser para executar o Flow de autenticação. E utilizar preferencialmente o Authorization Code flow.

Não utilizar um embed browser por questões de segurança, pois o embed seria capaz de copiar as credenciais e cookies do usuário. E também poderia obrigar o usuário a sempre se conectar ao abrir o app.

Essa prática também é conhecida como "AppAuth pattern". Uma referência direta as bibliotecas do AppAuth.

Será sempre assim?

A RFC de melhores práticas atuais, expirou em 09/01/2020. Há uma reunião marcada para o dia 10/02/2020 onde será revisado a RFC 6749 e teremos novidades em breve.

Provavelmente haverá novos direcionamentos em relação ao Native Apps.