Enquanto continuamos a trabalhar no código que eventualmente se tornará o stackoverflow, percebemos tardiamente que o estaríamos contribuindo para o excesso de nomes de usuário e senhas na Web. Tenho cinquenta logins on-line, e o não me lembro de nenhum deles! Adicionar o quinquagésimo primeiro conjunto de credenciais do stackoverflow.com provavelmente não ajudará em nada.
Com o incentivo do meu amigo Jon Galloway, decidi dar uma olhada no OpenID. O OpenID tem como objetivo resolver o problema da explosão de logins:
O OpenID elimina a necessidade de vários nomes de usuário em diferentes sites, simplificando sua experiência on-line.
O senhor pode escolher o provedor de OpenID que melhor atenda às suas necessidades e, o mais importante, no qual confia. Ao mesmo tempo, seu OpenID pode permanecer com o senhor, independentemente do provedor para o qual mudar. E o melhor de tudo é que a tecnologia OpenID não é proprietária e é totalmente gratuita.
No espírito do Mostre, não conte, é assim que funciona:
Digamos que o senhor esteja visitando um novo site pela primeira vez. À medida que navega, o senhor acaba fazendo algo que exige mais do que o acesso anônimo de convidado. Então, o senhor será desviado para a página “criar uma nova conta”, seja qual for a forma que ela assuma. Tenho certeza de que todos que estão lendo isso conhecem o procedimento. Mas se o site estiver habilitado para OpenID, o senhor não o senhor não precisa passar por todo o procedimento típico necessário para criar uma nova conta. Em vez disso, o senhor pode inserir seu login do OpenID:
Vou me dar ao luxo de acenar com as mãos aqui e supor que o senhor já tenha um login do OpenID. Sinceramente, não é um exagero tão grande; todos os usuários da AOL e do Yahoo já têm um login do OpenID, mesmo que ainda não saibam disso.
Os OpenIDs são tecnicamente URLs. Aqui estão alguns exemplos:
- http://claimid.com/seu nome
- http://seu nome.signon.com
- https://me.yahoo.com/seu nome
Esse é um problema de usabilidade do OpenID: o senhor tem que se lembrar de um URL pessoal relativamente completo que não é definido da mesma forma por dois provedores de OpenID. Isso se compara desfavoravelmente a, digamos, lembrar seu endereço de e-mail. Há atalhos para contornar esse problema que descreverei mais adiante, mas, por enquanto, há Seletor de IDque fornece uma interface de usuário razoavelmente amigável para criar um URL de login do OpenID.
Se digitar o URL correto, o usuário será redirecionado para o provedor OpenID, onde digitará seu conjunto único de credenciais de login.
Será solicitado que o senhor adicione esse site à lista de “sites confiáveis” do seu provedor para a sua conta. Depois de fazer isso, o senhor poderá ignorar todas essas etapas na próxima vez que acessar o site.
E, finalmente, o senhor está conectado pela primeira vez!
Se isso parecer um trabalho extra – e lembre-se de que não estou contando o tempo necessário para configurar a conta inicial no ClaimID – bem, não vou mentir para o senhor. É mais trabalho. Mas vale a pena observar que:
- O custo da criação de uma conta em seu provedor de OpenID pode eventualmente ser amortizado em dezenas de sites que aceitarão essas mesmas credenciais.
- Após o primeiro login do OpenID em um determinado site, supondo que o senhor tenha adicionado esse site à sua lista de confiança, os logins subsequentes são literalmente operações de um clique.
Não é exatamente sem atrito, mas é uma grande melhoria em relação a ter que lembrar 50 nomes de usuário e senhas diferentes para 50 sites diferentes, o senhor não acha? Acho que isso se compara muito favoravelmente com o atual campeão da comunicação sem atrito: caixas de comentários anônimos. Normalmente, elas têm três campos a serem preenchidos: nome de usuário, URL e e-mail. O OpenID exige apenas um. Seu provedor pode fazer proxy do seu URL e enviar o e-mail de volta para o blog automaticamente a partir do perfil do provedor, se o senhor escolher um provedor inteligente com troca de atributos suporte.
O que me leva ao outro problema do OpenID. A qualidade de sua experiência com o OpenID é fortemente influenciada pelo provedor que o senhor escolher. Por exemplo, o Yahoo! é inteligente o suficiente para funcionar mesmo que o usuário digite apenas “yahoo.com” como URL do OpenID. Isto é, supondo que o senhor tenha ativado o suporte ao OpenID para seu login do Yahoo! Os provedores também podem oferecer funcionalidades exclusivas que os diferenciam. Por exemplo, SignOn.com permite o uso de Cartões de informação no Windowspara que o senhor possa fazer login em um site sem precisar digitar uma senha! É um pouco trabalhoso, pois o senhor precisa associar o Information Card à sua conta de provedor primeiro, mas eu experimentei e funciona como anunciado.
Minhas experiências com o OpenID foram bastante positivas, mas nem tudo é vinho e rosas na terra do OpenID. Stefan Brands identifica alguns problemas potencialmente grandes com o OpenID, apoiado por referências exaustivas:
- Phishing. Um site mal-intencionado pode visitar o URL do provedor OpenID que o senhor forneceu, capturar a tela do formulário de login e apresentá-lo localmente, interceptando seu login e senha. No entanto, se escolher um provedor de OpenID de qualidade, ele usará SSL e um certificado de alto nível para que o usuário tenha alguma confiança de que não está sendo enganado. O Yahoo também oferece marcas d’água de imagem antiphishing para logins OpenID também.
- Privacidade. Seu provedor OpenID saberá, por definição, todos os sites em que o senhor fizer login usando as credenciais dele. Portanto, espero que o senhor confie em seu provedor.
- Risco centralizado. Se sua conta OpenID for comprometida, todos os sites que o senhor usou para acessá-la também serão comprometidos. Não sei se isso é muito mais arriscado do que ter suas credenciais de e-mail comprometidas, pois muitos (a maioria?) sites permitem que o senhor envie uma redefinição de senha para seu endereço de e-mail.
- Falta de confiança. Os provedores de OpenID não oferecem nenhum tipo de verificação de identidade. É como aquelas “carteiras de identidade” genéricas que o senhor pode obter on-line, que são bastante inúteis se comparadas, por exemplo, à sua carteira de motorista, que foi emitida por uma autoridade governamental local. E se o falso Steve Jobs criasse um OpenID falso que se apresentasse como Steve Jobs, ou um provedor de OpenID falso?
- Complexidade adicional. Seu login agora envolve duas entidades completamente diferentes: o site ao qual o senhor está tentando obter acesso, e seu provedor OpenID. O senhor precisa entender essa nova relação para solucionar qualquer problema com o seu login, e o provedor OpenID precisa estar em funcionamento para que o senhor possa fazer o login.
- Desigualdade na adoção. É fácil para a AOL, Yahoo!, Six Apart e Technorati se tornarem OpenID provedores — mas de que isso adianta para o senhor quando há muito poucos provedores de OpenID consumidores? Como Dare aponta, existem nenhum incentivo financeiro para aceitar credenciais de seus concorrentes, mas certamente há muitos incentivos para estimular a criação de contas em seu próprio site. Por enquanto, espero que o OpenID seja impulsionado principalmente por pequenos aplicativos e sites que não têm milhões de dólares para investir.
Como mencionei acima, acho que a maioria dessas críticas pode ser atenuada com a escolha de um provedor OpenID confiável e de qualidade. Principalmente um que use SSL. Como se trata de um ecossistema aberto, espero que os provedores de OpenID mais conceituados e confiáveis cheguem ao topo. E considere as vantagens: como desenvolvedor de aplicativos, o senhor não precisa mais armazenar senhas! Essa é uma enorme vantagem, porque o armazenar senhas é o último negócio em que o senhor quer estar. O senhor pode confiar em mim.
Também encontrei o artigo de Jan Miksovsky críticas à experiência do usuário do OpenID — em 6 meses atrás, bastante contundentes:
E tudo isso é para… o quê, exatamente? Para evitar que eu tenha que escolher um nome de usuário e uma senha? Por mais irritante que isso possa ser, não é tão difícil assim! Lembrar-se de um nome de usuário arbitrário causa problemas reais, mas simplesmente permitir que os endereços de e-mail sejam usados como IDs pode resolver quase todo esse problema. À medida que mais e mais sites permitem endereços de e-mail como IDs, a necessidade do OpenID se torna menos atraente para o consumidor.
Por enquanto, não consigo imaginar um operador de negócios sensato forçando seus preciosos visitantes a passar por essa série de problemas de experiência do usuário apenas pelos benefícios marginais que resultam de uma forma compartilhada de identificação. Li várias afirmações de que bastaria que alguém grande como o Google apoiasse o OpenID para resolver esse problema. Infelizmente, não há nenhuma empresa de qualquer porte que possa se dar ao luxo de direcionar seu tráfego para um beco sem saída.
A maioria das operadoras de serviços, na melhor das hipóteses, oferecerá aos usuários a opção de usar uma ID proprietária ou um OpenID, criando uma proposta econômica terrível para o consumidor. Diante da proposta de: 1) lutar uma vez por trinta minutos para passar por um processo que mal consegue entender, ou 2) gastar dois minutos em cada novo site passando por um processo familiar que já fez inúmeras vezes antes, as pessoas normalmente ocupadas escolherão sempre a rota familiar. Aposto qualquer coisa que a maioria das pessoas continuará optando por IDs proprietárias, adiando ainda mais os efeitos de rede possíveis com a adoção do OpenID.
Talvez o ponto mais convincente apresentado por Jan seja este: ele é um pouco estranho pedir aos usuários que se associem a um URL arbitrário em vez de um endereço de e-mail. Definitivamente, vi algumas arestas na experimentação de hoje, mas diria que a experiência do usuário melhorou desde que Jan analisou o OpenID. Isso é animador.
Sei que o OpenID está longe de ser uma solução ideal. Mas, no momento, o problema de um login por site é tão ruim que estou disposto a aceitar essas compensações para uma solução parcial pior é melhor solução. De forma alguma eu colocaria minhas credenciais bancárias em um OpenID. Mas também há dezenas de sites para os quais não preciso de nada que se aproxime remotamente da segurança de nível bancário, e uso esses sites com muito mais frequência do que meu banco. A dor coletiva de lembrar todos esses logins e a maneira como minha caixa de entrada de e-mail se torna um ponto de coleta de fato e um gateway de segurança para todos eles é substancial.
Se o senhor é um desenvolvedor de software que está criando um aplicativo que requer contas de usuário, considere a possibilidade de usar o OpenID em vez de poluir o mundo com mais um login e senha. Eu também incentivo o senhor a fazer experiências com o OpenID como um usuário. Crie um. Tente fazer login em algum lugar com um usuário. Se o senhor não gostar da experiência, ou se concordar com uma (ou mais) das críticas que listei acima, como podemos corrigi-lo coletivamente? Precisamos desesperadamente de uma solução para a explosão de login e, no momento, a única coisa que vi no horizonte que tem algum tipo de massa crítica é o OpenID.
Se não pudermos fazer com que o OpenID funcione, pelo menos para as credenciais comuns e de baixo valor que estão espalhadas pela Web em um número cada vez maior — qual a esperança que temos de consertar o problema da explosão de login?