【问题标题】:Looking for cross-site membership solution/services for my PHP websites为我的 PHP 网站寻找跨站会员解决方案/服务
【发布时间】:2011-01-31 04:29:43
【问题描述】:
我的问题集:我为多个客户端开发网站(基于 PHP,主要是 WordPress)。其中许多网站需要用于订阅服务等的登录/会员资格解决方案。是否有某种基于 Web 的解决方案,理想情况下具有 RESTful 界面,我可以使用它来处理这些东西,而不是在每个站点上实现依据?
我寻求的功能:
- RESTful 接口
- 一个主帐户可以处理来自不同域/站点的多组用户。
注意事项:
- OpenID 是最接近的示例,但我希望用户能够在给定站点内设置其凭据。
如果这不存在,您是否可以建议创建这样一个托管在 AWS 云上的系统,例如?
谢谢-
【问题讨论】:
标签:
php
wordpress
authentication
authorization
membership
【解决方案1】:
您可以使用 OpenID 来做到这一点!谷歌的 openID 和委派。
您可以将任何 UserID 设为 OpenID。
如果您允许您的用户使用他们在您的网站上获得的用户 ID 作为 openid,则他们不必在任何永久开放 ID 网站上注册。
如果您根本不想允许任何外部 id,您应该检查 oauth。
oauth 是一个基于令牌的跨站点身份验证系统,被包括谷歌在内的许多提供商使用。
两者都有成熟的 PHP 实现。
【解决方案2】:
我认为您要查找的内容称为SSO(从单独的帖子中学习。其他人也有asked this question today。但我认为您可以使用OpenID,就像stackoverflow.com对附属网站所做的那样(超级用户。 com/etcetera)。我认为流程看起来像这样:
- 用户登录到 OpenID。
- 将 openID 存储在加密的 cookie 中(如果 cookie 仍然有效,则从 RESTful 服务器查找),以便您的所有附属网站都可以读取它,但世界其他地方不能。
- 创建一个 RESTful 界面,附属网站可以从服务器访问该界面。
- 当附属网站需要更多信息或修改信息时,您可以查询 RESTful 界面。
用什么来加速你的开发:
我认为这样的东西可以在一个小时内完成。
【解决方案3】:
如果它们都基于 Wordpress,那么 openId plugin for WP 可能是解决方案,或者是其中的一部分。来自作者:
[...]这个插件允许用户登录
使用他们的本地 WordPress 帐户
一个 OpenID,以及启用
评论者离开认证
带有 OpenID 的 cmets。该插件还
包括一个 OpenID 提供程序,使
用户登录到启用 OpenID 的站点
使用他们自己的个人 WordPress
帐户。[...]