【问题标题】:OpenID and Google.GData.AccessControl.dll in C#C# 中的 OpenID 和 Google.GData.AccessControl.dll
【发布时间】:2011-08-11 04:06:28
【问题描述】:

我正在设计一个使用 OpenId 的网站,而 Google 是我选择的主要提供商之一。我想做的是使用谷歌的日历和联系人(可能是文档)作为每个用户的后备存储。换句话说,如果我网站上的用户想要访问联系人列表、日历等,他们必须注册他们的 Google 帐户。然后他们可以添加/编辑/删除他们心中的内容,因为这是他们的信息。 (是的,我对我要去的地方有一个具体的想法,只需要弄清楚如何将 OpenID 绑定到 GData。)

有没有人写过 OpenID/OAuth 和使用 Google API 之间的联系?

【问题讨论】:

    标签: c# oauth openid gdata-api


    【解决方案1】:

    你看过DotNetOpenAuth吗?它将允许您连接到任何支持 OpenID 的开放身份验证提供程序,并且 Google 是 providers listed on the OpenID page 之一。

    有没有人在两者之间写过领带 OpenID/OAuth 和使用 Google 蜜蜂?

    我不确定你的意思...如果你问是否有一个库允许你使用你的谷歌帐户作为 OpenID,那么是的:DotNetOpenAuth。有一些问题,请参阅Andrew Arnott's answerthis question

    【讨论】:

    • 是的,我有,事实上这就是我正在使用的。尚未完全实施,因为我的应用程序中也有会员资格。我想弄清楚的是,一旦有人登录,我如何连接到他们的 GData。
    • @Keith Barrows:不幸的是我从来没有这样做过......除了我已经提供的内容之外,我无法帮助你:(,对不起!
    • 不用担心。无论如何,我必须先让我的 GData 连接正常工作。在开发中,我只是强制我的谷歌帐户进入测试,到目前为止它一直返回 401!
    • 作为更新,我现在确实拥有它,我可以通过其他人的帐户凭据访问 GData。仍在使用混合登录环境 (OpenID/OAuth/Forms Auth) 解决细节问题。当我接近解决方案时会发布更多内容。
    【解决方案2】:

    在对这个问题进行了大量研究之后,我有两种方法可以解决这个问题。

    1. 使用 OpenID 并在用户的个人资料中,让他们输入他们的 google 凭据(有效,但不是一个很好的解决方案)
    2. 使用 OAuth。这需要向 google 注册您的域并获取用于 OAuth 的密钥。设置完成后,您就可以轻松访问最终用户在 Google 上的数据存储。

    看看谷歌的OAuth 1.0 for Web Applications

    另请参阅OAuth-OpenID: You’re Barking Up the Wrong Tree if you Think They’re the Same Thing,了解 OpenID 与 OAuth 的良好概述。

    【讨论】:

    • 任何带有完整源代码示例的最终解决方案?
    猜你喜欢
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 2011-03-18
    • 2017-10-01
    • 1970-01-01
    相关资源
    最近更新 更多