首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GITkit“帐户选择器”问题

GITkit“帐户选择器”问题
EN

Stack Overflow用户
提问于 2011-12-11 21:49:22
回答 1查看 1.4K关注 0票数 2

是否有人成功地实现了谷歌身份工具包,一个http://accountchooser.com/的实现。我在这里遵循了最初的步骤,但我仍然有一些问题,因为我不太知道如何处理整个数据流。我在后端使用Clojure / Compojure:

  • http://havethunk.wordpress.com/2011/08/10/google-identity-toolkit-asp-net-mvc3/
  • http://code.google.com/apis/identitytoolkit/v1/acguide.html

( A)不太明白ID提供者身份验证如何适合我的数据模型

  • 在实现callbackURL时,我应该期望哪些数据,以及GITkit如何管理会话状态(以及所有帐户选择器)

( B)是否有办法为开发设置“callbackURL”。

  • 身份提供者需要一个可以重定向回的URL

( C) GITkit / Account Chooser工作流如何允许我的用户注册我的应用程序固有的帐户?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2011-12-14 19:02:25

问题还不完全清楚,但我已经完成了红宝石中的GITkit的实现,可以为您提供一些提示。

( A)回调URL处理来自身份提供程序的断言。现在,GITKit只执行OpenID,因此URL将在查询参数中或作为POST主体包含OpenID响应。您需要做一些事情: 1)在gitkit API中调用verifyAssertion并传递params/post主体。这将返回包含用户详细信息的JSON响应(假设断言有效)。还有其他一些检查您也应该做,2)决定如何处理断言。如果是现有用户,很可能只是建立一个会话并保存用户ID。如果它是一个新用户,您可以创建一个新帐户并立即启动会话,或者将其推迟并重定向到注册页面。3)呈现HTML/JS通知小部件。您可以返回不同的状态代码和数据来更改流。

GITKit本身并不真正管理会话状态,这取决于您的应用程序。一些参考实现有需要帮助的代码,但它不是API的一部分。这个小部件确实有一些您可以用JS控制的状态(添加帐户、显示登录状态等),并在浏览器中使用本地存储。

文档给出了一些细节和示例代码,说明了应该如何实现这一点。

( B)当然。当调用setConfig()时,URL只是在javascript小部件中配置,可以设置为localhost或任何暂存服务器进行开发。只要你的浏览器能到达它,你就会没事。

( C)所谓“本机”,我想您的意思是他们只使用用户名/密码,而不是使用IDP。如果是这样的话,用户登录时只需输入他们的电子邮件地址。如果该电子邮件地址与已知的IDP匹配,它将尝试使用OpenID进行身份验证,否则如果它是一个新用户,它将重定向到您在小部件中配置的任何注册页面。注册页面将只要求用户创建一个密码,就像你通常会做的那样。您还应该返回帐户是否是userStatus检查中的“遗留”(密码)帐户。

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8467774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档