2

我正在将 Open ID 与已经拥有用户帐户的网站集成。我已经检查了相关的代码文档,到目前为止一切都很简单,现在在我继续实施之前,我想问一下将 Open ID 与现有成员集成的最佳方式是什么。

我的计划
我有一个特定的计划,想知道这是否是一个好方法,或者它会在以后造成问题。

说,我有一个存储用户和密码的主表(这是针对现有用户,直接订阅我们的网站而没有打开 id)现在我将创建一个 OpenId 表,它将用户与开放 id 提供者进行一对多映射.

注意:如果第一次通过 open id 注册,它总是会在 master user 表中创建一个帐户,然后在 open id 映射表中进行相应的映射。

我要做的是,当用户点击雅虎登录,并在雅虎提供商处进行身份验证并返回我们的网站时,我们的应用程序会弹出一个问题:-

1) 你已经在这个网站上拥有一个帐户了吗?如果是这样,那么会给用户一个选项来登录到站点用户名和密码,如果正确完成,那么它将将该现有用户映射到雅虎,将一条记录插入到打开的 id 表中,将现有用户映射到雅虎,但是在这个场景 我将使用什么元素来唯一标识雅虎帐户?电子邮件?雅虎的用户名?

一个可能的困境出现了,如果用户最初使用 open id 注册说 google 而不是通过正常的登录/注册,我需要让用户通过 google 进行身份验证然后返回然后如果那成功将 yahoo 帐户映射到帐户。将一条记录插入到与 yahoo 映射现有用户的开放 id 映射表中,默认情况下它也已经映射了 google。

2) 新用户?在这种情况下,它将获取用户名/电子邮件,并在主表中使用随机生成的密码创建帐户,并将该用户与 open id 表中的 open id 映射。

这种方法听起来合理吗?如果不是为什么?我还可以通过哪些其他可能的方式集成 open id。

4

0 回答 0