我使用 Google Apps 来管理我组织的用户帐户和电子邮件。我们的用户使用 Google 的 OpenID 登录各种网站(包括 StackExchange)非常方便,无需创建和维护另一个密码。
OwnCloud 似乎是一个不错的文件共享项目,我已经安装了一个实例。据说 OwnCloud 支持 OpenID 身份验证,而不是自定义用户名和密码,但我找不到有关如何配置它的任何文档。我已在 owncloud 实例中启用了“OpenID 用户后端”和“外部用户支持”应用程序,但我不知道如何使用它们 - 尤其是对于 Google Apps OpenID(并且没有为 OpenID 启用 Google+)
有点令人困惑的是,不清楚 OpenID 支持是否用于使用 OwnCloud 实例作为 OpenID 授权机构,或者是否像我所需要的那样接受 OpenID 进行登录。
此外,即使我知道如何登录 Web 应用程序,我也想使用 OwnCloud 胖客户端(Windows)并继续使用 OpenID 使用该程序登录。我不认为这是一个选择。
我会为此设置悬赏,但我没有积分。有人想为此开一个悬赏吗?
答案1
不要指望登录屏幕会改变。
在我的 OpenID 提供商处为我的 OwnCloud 本地用户配置身份后,浏览器在将我的 OpenID 标识符提交到 OwnCloud 登录页面后立即重定向到我的身份验证服务器,因此该部分过程运行良好。
不幸的是,登录过程没有成功,因为最后我又被重定向到 OwnCloud 登录页面(顺便说一下,它没有显示任何错误)
更新(2013 年 4 月 24 日):
我已经开始研究代码,发现 OwnCloudclass.openid.v3.php
似乎不支持 OpenID v2.0(请参阅https://stackoverflow.com/questions/6724729/has-any-one-got-class-openid-php-working-with-google-openid)
(请注意,这是非常初步的信息。也许 OwnCloud 提供的文件class.openid.v3.php
已经升级以支持最新版本的 OpenID。事实上,http://openid.net/developers/libraries/说“简单的 OpenID PHP 类”与 2.0 兼容)
答案2
根据这篇论坛帖子您将您的 OpenID 网址放在用户名字段中。
如果你使用 Google 登录,则该 URL 是你的 Google+ 个人资料网址,或者https://www.google.com/accounts/o8/id(适用于所有帐户)。
抱歉,我无法测试它,但我没有运行 owncloud 实例。
答案3
我探索过的一个替代方案是使用“外部身份验证”选项,尤其是针对 Gmail 的 SMTP 身份验证。这也不能正常工作。另一个替代方案是使用 OAuth 2.0,但这需要将我的整个 Google 应用域指向外部服务器。
目前看来,ownCloud 的成熟插件很少。使用替代身份验证还会禁止您在用户之间共享数据,并且通常缺乏功能。