Hospede seu proprio servidor de OpenID. Leva so uns 3 minutos :-)
Jan 21, 2008
O OpenID é um mecanismo de autenticação e autorização distribuído que começa a ser adotado pelos big players, como Yahoo! e Google.
Logando-se apenas no seu provedor de OpenID, você pode criar novos perfis em outros sites que o suportem, ou fazer coisas que normalmente exigiriam autenticação, como deixar comentários em blogs, sem a necessidade de se logar novamente. E o principal é que você não precisar criar um usuário e senha novamente em cada um dos sites que você visita. W00t!
Há várias opções de provedores de OpenID atualmente, e a tendência é que quase todo grande site (Google, Yahoo, UOL, sei lá) se torne provedor de OpenID. Alguns do mais populares hoje em dia são:
myopenid: utilizado por exemplo pelo Christiano Anderson (que aliás explica como manter um OpenID com seu nome de domínio, porém sem hospedá-lo no seu servidor, utilizando o own-id.com).
wordpress.com: basta utilizar “usuario.wordpress.com”
Veja aqui uma lista com vários outros provedores públicos de OpenID.
Mas, bem, você que é um über-geek certamente vai preferir hospedar seu próprio mecanismo de OpenID, certo :-) ? Assim, além de ter um openID com o seu domínio, você está garantindo que só você sabe sua senha. A forma mais simples de se fazer isso é usando o phpMyID.
Tenha em mente que os sites não são obrigados a aceitar seu OpenID. Mas a previsão é que seja criada uma whitelist de provedores de OpenIDs do bem.
Veja só como fazer o seu servidor de OpenID no Linux, usando apenas dois arquivos em PHP:
Supondo que você já tenha um servidor rodando PHP, vá até o site do projeto e baixe a última versão. Descompacte o ’tarball’ e copie para o diretório onde ficará hospedado seu openid apenas os arquivos ‘MyID.php’ e ‘MyID.config.php’. Neste exemplo, vou deixar os arquivos em /var/www/html/openid:
# wget http://siege.org/projects/phpMyID/phpMyID-0.8.tgz
# tar zxvf phpMyID-0.8.tgz
# mkdir /var/www/openid
# mv phpMyID-0.8/MyID.php /var/www/openid
Renomeie o ‘MyID.config.php’ para ‘index.php’:
# mv phpMyID-0.8/MyID.config.php /var/www/openid/index.php
Pronto, agora é só editar o /var/www/openid/index.php. Nesse arquivo, há duas arrays com as configurações relevantes: ‘profile’ e ‘sreg’. Veja abaixo um exemplo com os itens mais importantes e uma explicação de cada item:
$GLOBALS[‘profile’] = array(
# Basic Config
‘auth_username’ => ‘yves’,
‘auth_password’ => ‘37fa04faebe5249023ed1f6cc867329b’,
‘auth_realm’ => ‘cetico’,
# Optional Config - Please see README before setting these
#‘microid’ => array(‘user@site.com’, ‘http://delegator.url’),
‘pavatar’ => ‘http://cetico.org/pavatar.png',
);
auth_username: é o nome de usuário a ser utilizado quando você se logar no seu openID. Escolha um valor e não mude.
auth_password: é o hash criptográfico da sua senha. Deixe como está e vamos falar disso por último.
auth_realm: na prática, é apenas o título da caixa diálogo para entrada de usuário e senha. Escolha um valor e não mude.
pavatar é um ‘gravatar’, porém hospedado no seu próprio servidor. É bem menos suportado do que o Gravatar.
Faltam agora a outra parte, o ‘sreg’. Essas variáveis são importantes pois serão os dados informados aos outros sites. Ao fazer um comentário no blogger usando seu OpenID, por exemplo, o nome e o nickname que vão aparecer são os que você definir aqui.
/**
* Simple Registration Extension
* @name $sreg
* @global array $GLOBALS[‘sreg’]
*/
$GLOBALS[‘sreg’] = array (
’nickname’ => ‘cetico’,
# ’email’ => ‘yves@cetico.org’,
‘fullname’ => ‘Yves Junqueira’,
# ‘dob’ => ‘1970-10-31’,
‘gender’ => ‘M’,
# ‘postcode’ => ‘22000’,
# ‘country’ => ‘US’,
# ’language’ => ’en’,
# ’timezone’ => ‘America/New_York’
);
nickname: Importante: é o que deve aparecer na maioria das vezes
fullname: Importante
email: opcional
dob: data de nascimento. opcional.
O restante é óbvio e opcional.
Definindo a senha:
Lá atrás, deixamos o campo “auth_password” inalterado. Agora está na hora de configurá-lo. O procedimento é simples. Basta concatenar o nome de usuário, o realm e a senha, separados por dois pontos “:” e calcular o hash md5. Supondo que minha senha seja T4B4j4rA, é só executar o seguinte comando no Linux:
$ echo -n ‘yves:cetico:T4B4j4rA’ | md5sum
7f88f2da9a2b54eedc5f62bad9c17058 -
Pegue o resultado, nesse caso “7f88f2da9a2b54eedc5f62bad9c17058” (o seu, claro, vai ser bem diferente) e coloque no campo “auth_password”. Lembre-se de cercar essa string por aspas simples e incluir uma vírgula depois.
Salve o arquivo e vá até a página onde deve estar seu openid. Já deve estar funcionando. Se não funcionar contigo, deixe um recado aqui. Não posso prometer, mas vou tentar ajudar.
Lembre-se de ser gentil com quem acessa seu blog, permitindo que eles façam comentários autenticando-se com suas respectivas OpenIDs. Fazer isso no Wordpress é fácil e certamente outros sistemas já devem estar se adaptando aos novos tempos.
Archived Comments
Comment from
Yves Junqueira - Jan 2, 2008
Comment from guto:
Excelente dica Yves, eu uso openid do myopenid no trac do SACIX Gnu/Linux e GESAC Gnu/Linux, é bem prático mesmo ;)
Sucesso em BH.
[s]
Guto
Comment from Leonardo Priori:
o link site do projeto tá errado, dá uma olhada ae, tem um http// a mais ae
Valeu, Leonardo. Vou corrigir.