Извлечение имени пользователя из идентификатора OpenID - PullRequest
3 голосов
/ 21 февраля 2009

Я использую аутентификацию OpenID в сочетании с традиционной регистрацией / авторизацией на моем сайте. Когда кто-то впервые входит в систему с использованием OpenID, я хотел бы иметь возможность извлечь имя пользователя для использования на сайте.

Это легко для некоторых идентификаторов openid - например:

http://username.myopenid.com/
http://username.livejournal.com/
http://claimid.com/username

Однако это не всегда так, поскольку любой URL-адрес можно использовать в качестве OpenID.

Один из вариантов - сохранить список форматов URL, как указано выше, где я знаю, что могу извлечь имя пользователя - и автоматически назначать имя пользователя в других случаях (которые можно изменить после входа в систему). Есть ли другой, более гибкий способ извлечения имени пользователя?

Ответы [ 3 ]

3 голосов
/ 21 февраля 2009

Этот урок , кажется, охватывает то, что вы хотите, и больше атрибутов.

2 голосов
/ 21 февраля 2009

OpenID имеет API для получения информации о пользователе, такой как имя, адрес электронной почты и так далее. Я бы просто использовал имя, если бы пользователь позволил вам получить к нему доступ.

1 голос
/ 21 февраля 2009

Поскольку OpenID является аутентификацией, которая работает без имени пользователя / пароля вне сайта аутентификации OpenID, но только с URL, само по себе невозможно извлечь уникальное имя пользователя.

Я думаю, что лучшее, что вы можете получить, это угадать имя пользователя по URL или автоматически назначить его, если угадывание невозможно (например, Google). К сожалению.

...