实现谷歌登录在现有的mvc

本文关键字:mvc 谷歌 登录 实现 | 更新日期: 2023-09-27 18:11:43

我有一个没有身份(自定义身份验证)的MVC项目。然后我想实现Google和Facebook的认证。

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

谷歌能够在帐户控制器中调用我的动作,然而,并寻找我复制的MVC基础代码,我无法检索有关用户的信息。

这是我的方法返回null在loginInfo

    public async Task<ActionResult> LoginWithGoogle(string returnUrl)
    {
        var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();

这是AuthenticationManager

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

我如何从谷歌认证获取信息?我能够通过javascript做到这一点,但我想如何只与c#。

实现谷歌登录在现有的mvc

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

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

https://github.com/kishancool11/GoogleLoginMVC

你可以使用LoginWithGoogle来代替GoogleLoginCallback