将OAuth2 / OpenID2升级到OpenID Connect

时间:2015-03-08 02:18:13

标签: asp.net dotnetopenauth google-openid openid-connect

我正在使用DotNetOpenAuth库来管理身份验证。 现在google已经决定不再支持OpenId2了,我已经阅读了文档,但我还不太了解如何迁移到OpenId Connect。

现在我正在通过谷歌发送以下请求进行身份验证:

        using(OpenIdRelyingParty openid = new OpenIdRelyingParty())
        {
            string googleEndPoint = "https://www.google.com/accounts/o8/id";
            IAuthenticationRequest request = openid.CreateRequest(Identifier.Parse(googleEndPoint));
            ...

所以我想知道我是否只需修改openid.CreateRequest(Identifier.Parse(googleEndPoint))以包含 REALM 返回URI 以使其正常工作。

我在互联网上寻找有关使用DotNetOpenAuth lib的Google身份验证的示例,但我没有找到任何内容

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。要迁移到OIDC,Google建议使用“HD”参数,请参阅此处的详细信息: https://developers.google.com/accounts/docs/OpenID#openid-connect

我最近为Google OIDC创建了一个轻量级身份验证实现,并使这个库成为开源的。代码非常基础,可以完成工作:

http://www.dominikamon.com/articles/3091/oidc-lightweight-library-for-aspnet.html

如果要访问firstname,lastname,gender等信息,新API的工作方式会有所不同。您需要从Google+获取此信息。因此,您需要设置Google+ API(每天最多可以免费发送10000个请求)

希望这有帮助。