在现有的mvc中实施谷歌登录

时间:2016-10-04 21:52:17

标签: c# asp.net-mvc google-login

我有一个没有身份的MVC项目(自定义身份验证)。但后来我想对它实施Google和Facebook身份验证。

我创建了一个项目,以了解微软如何在MVC身份验证中做到这一点。我能够实现它的一部分。现在我有一个调用google身份验证页面的按钮,当我选择我的电子邮件登录时出现错误 - 错误:redirect_uri_mismatch - 但我强制URL与我的URL匹配,这有效。

Google能够在帐户控制器中调用我的操作,但是在查看我复制的MVC基本代码时,我无法检索有关用户的信息。

这是我在loginInfo

中返回null的方法
    public async Task<ActionResult> LoginWithGoogle(string returnUrl)
    {
        var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();

这是AuthenticationManager

    private IAuthenticationManager AuthenticationManager
    {
        get
        {
            return HttpContext.GetOwinContext().Authentication;
        }
    }

如何从Google身份验证中获取信息?我可以通过javascript完成此操作,但我想如何只使用C#。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我最近创建了自定义Google登录项目。我使用声明来存储用户详细信息,但您可以使用自定义逻辑。

请在GitHub上找到它。这是详细的步骤。

https://github.com/kishancool11/GoogleLoginMVC

您可以使用LoginWithGoogle代替GoogleLoginCallback。