modify - show action bar android




Como devo usar o AccountManager do Android? (3)

A classe AccountManager está integrada às suas contas telefônicas. Então, se você seguir todos os guias e funcionar corretamente, verá suas contas no menu "Configurações-> contas e sincronização". A partir daí, você pode personalizá-los ou até excluí-los. Além disso, o accountManager possui um cache dos tickets de autenticação para suas contas. Isso também pode ser usado se você não planeja sincronizar sua conta (até onde eu sei).

Se você não quer que suas contas apareçam sob esse menu, você não deve usar o AccountManager e armazenar os dados das contas em outro lugar (talvez nas preferências compartilhadas) http://developer.android.com/guide/topics/data/data -storage.html

Eu vi o AccountManager no Android SDK e é usado para armazenar informações da conta. Assim, não consigo encontrar nenhuma discussão geral sobre o que é pretendido. Alguém sabe de alguma discussão útil sobre qual é a intenção por trás do AccountManager e o que ela compra? Quaisquer opiniões de que tipo de contas isso é adequado para? Isso seria onde você colocaria as informações da conta do usuário para um serviço da web geral?


De http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/ :

A primeira parte do quebra-cabeça é chamada de autenticador de conta, que define como a conta do usuário será exibida nas configurações de "Contas e sincronização". A implementação de um autenticador de conta requer três partes: um serviço que retorna uma subclasse de AbstractAccountAuthenticator do método onBind, uma atividade para solicitar que o usuário insira suas credenciais e um arquivo xml descrevendo como sua conta deve ser exibida quando exibida ao usuário. Você também precisará adicionar a permissão android.permission.AUTHENTICATE_ACCOUNTS ao seu AndroidManifest.xml.


O AccountManager é bom pelos seguintes motivos:

  • O primeiro é armazenar vários nomes de contas com diferentes níveis de acesso aos recursos do aplicativo em um único tipo de conta. Por exemplo, em um aplicativo de streaming de vídeo, um pode ter dois nomes de conta: um com acesso de demonstração a um número limitado de vídeos e o outro com acesso total a todos os vídeos. Esta não é a principal razão para usar as Accounts , no entanto, desde que você pode facilmente gerenciar isso em seu aplicativo sem a necessidade de esta conta de aparência chique….
  • A outra vantagem de usar Accounts é livrar-se da autorização tradicional com nome de usuário e senha cada vez que um recurso autorizado é solicitado pelo usuário, porque a autenticação ocorre em segundo plano e a senha do usuário é solicitada apenas em certas condições, que eu vou chegar depois.
  • Usar o recurso Accounts no Android também elimina a necessidade de definir o próprio tipo de conta. Você provavelmente já se deparou com os aplicativos que usam a Conta do Google para obter autorização, o que economiza o trabalho de criar uma nova conta e lembrar suas credenciais para o usuário.
  • Accounts podem ser adicionadas independentemente através de Configurações → Contas
  • A autorização de usuário entre plataformas pode ser facilmente gerenciada usando Accounts . Por exemplo, o cliente pode acessar material protegido ao mesmo tempo em seu dispositivo Android e PC sem a necessidade de logins recorrentes.
  • Do ponto de vista da segurança, usar a mesma senha em todas as solicitações para o servidor permite possíveis interceptações em conexões não seguras. A criptografia de senha não é suficiente aqui para impedir o roubo de senhas.
  • Finalmente, uma razão importante para usar o recurso de Accounts no android é separar as duas partes envolvidas em qualquer negócio dependente de Accounts , assim chamado autenticador e proprietário do recurso, sem comprometer as credenciais do cliente (usuário). Os termos podem parecer bastante vagos, mas não desista até ler o seguinte parágrafo… 😉

Deixe-me elaborar sobre este último com um exemplo de um aplicativo de streaming de vídeo. A Empresa A é detentora de um negócio de streaming de vídeo em contrato com a Empresa B para fornecer a seus membros determinados serviços de streaming premium. A empresa B emprega um método de nome de usuário e senha para reconhecer seu usuário. Para que a Empresa A reconheça os membros premium de B, uma forma seria obter a lista deles de B e utilizar mecanismo de correspondência de nome de usuário / senha semelhante. Dessa forma, o autenticador e o proprietário do recurso são os mesmos (Empresa A). Além da obrigação do usuário de lembrar uma segunda senha, é muito provável que eles definam a mesma senha que o perfil da Empresa B para usar os serviços da A. Isso obviamente não é favorável.

Para aliviar as deficiências acima, o OAuth foi introduzido. Como um padrão aberto para autorização, no exemplo acima, a OAuth exige que a autorização seja feita pela Empresa B (autenticador), emitindo um token chamado Token de Acesso para os usuários qualificados (terceiro) e fornecendo à Empresa A (proprietário do recurso) o token. Portanto, nenhum token significa nenhuma elegibilidade.

Eu elaborei mais sobre isso e muito mais no AccountManager no meu site here.





accountmanager