Вход в Google Apps OpenID для приложения Django - PullRequest
0 голосов
/ 03 декабря 2011

У меня есть приложение django, созданное для организации. Но у всех пользователей есть учетные записи в приложениях Google организации. Мы сохранили для них две отдельные учетные записи (приложения Google и приложение Django), что не очень удобно. Их имя пользователя django совпадает с именем пользователя их приложений Google (часть, предшествующая @domain.com).

Я хочу просто изменить страницу входа в мое приложение django, чтобы перенаправлять на приложения Google для аутентификации (т. Е. Вход с открытым типом входа). Кроме того, когда они вошли в систему, я бы хотел, чтобы он возвращал Пользователя с тем же именем пользователя, чтобы существующие пользователи вошли в свои первоначальные учетные записи (поскольку у них есть данные, сохраненные под этими учетными записями). И новым пользователям будет просто создана новая учетная запись django с этим именем пользователя.

Не уверен, если кто-нибудь знаком с googleappsauth . Это модуль django, позволяющий входить openid в домен приложений Google. Это кажется идеальным для меня. Но это говорит мне, что мне нужна определенная конечная точка openid. Документация, кажется, не указывает, что это требуется, но я не очень знаком с OpenID, поэтому я немного застрял ??

Ответы [ 2 ]

0 голосов
/ 26 января 2012

Чтобы получить конечную точку Google OpenID, выполните обнаружение, отправив HTTP-запрос GET или HEAD на https://www.google.com/accounts/o8/id. При использовании GET рекомендуется установить заголовок Accept на application/xrds+xml. Google возвращает документ XRDS, содержащий URL-адрес конечной точки поставщика OpenID. Адрес конечной точки помечается как:

<Service priority="0">
<Type>http://specs.openid.net/auth/2.0/server</Type>
<URI>{Google's login endpoint URI}</URI>
</Service>

от: code.google.com

Вы также можете использовать:

https://google.com/accounts/o8/site-xrds?hd=<domain>

Однако имейте в виду, что это вызывает некоторые проблемы, если вы используете python-openid. Доступны патчи .

0 голосов
/ 09 декабря 2011

GOOGLE_OPENID_ENDPOINT = 'https://www.google.com/accounts/o8/ud'

...