Архитектура OpenID для Java - PullRequest
       4

Архитектура OpenID для Java

7 голосов
/ 28 сентября 2011

Я пытаюсь понять концепцию и преимущества использования OpenID в вашем проекте. И, поскольку я являюсь разработчиком Java, я более или менее заинтересован в понимании его основной реализации Java, openid4java.

Насколько я понимаю, OpenID является стандартом для предоставления децентрализованных идентификаторов единообразным способом. Теперь, если это совершенно (или даже немного) неверно, поправьте меня!

Предполагая, что я все еще на ходу, я вижу, что все виды или организации используют OpenID, например MySpace, который идентифицирует каждого из своих пользователей с URL-адресом, соответствующим http://www.myspace.com/username.

Так как же OpenID работает как система? Проявляется ли он просто как сеть «серверов OpenID», которые, подобно машинам DNS, координируют и удостоверяются, что все идентификаторы в их системе уникальны и соответствуют определенному шаблону? Или это просто алгоритм, который, как и GUID, генерирует глобально уникальные идентификаторы для каждого клиентского домена (например, MySpace).

Я просто не понимаю, как на самом деле проявляется OpenID, и как фреймворки, такие как openid4java, не взаимодействуют с этим "проявлением". (Что они используют).

1 Ответ

3 голосов
/ 29 сентября 2011

Во-первых, есть две стороны связи OpenID - поставщик и потребитель. Потребитель - это приложение, которое пытается аутентифицироваться с использованием OpenID, а поставщик - это сервер, на который отправляется запрос на аутентификацию.

У каждого провайдера есть так называемая конечная точка - URL, который принимает запросы на аутентификацию. Вы должны знать этот URL заранее при поддержке поставщика OpenID. Сначала вы должны выяснить, какова конечная точка для данного openId, а затем обмениваться сообщениями с этим провайдером. Это все завернуто в openid4java ConsumerManager.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...