微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Challange 方法不会重定向到指定的 url

如何解决Challange 方法不会重定向到指定的 url

我正在通过 VK 制作一个具有外部授权的网站,我查看了很多示例,但遇到了一个问题,在所有示例中,重定向ExternalLoginCallback 都是通过 Challange 方法发生的使用提供程序参数和 url,但重定向不会发生在指定的 url 上,而是发生在 signin-vkontakte-token 中指定的 ConfigureServices。这与什么有关?(如果您通过指定的提供商或其他提供商(例如 Facebook)给我答案并不重要)

[AllowAnonymous]
public IActionResult ExternalLogin(string provider,string returnUrl)
{
    var redirectUrl = Url.Action(nameof(ExternalLoginCallback),"Home",new { returnUrl });
    var properties = _signInManager.ConfigureExternalAuthenticationProperties(provider,redirectUrl);
    return Challenge(properties,provider);
}

[AllowAnonymous] 
public async Task<IActionResult> ExternalLoginCallback(string returnUrl)
{
    var info = await _signInManager.GetExternalLoginInfoAsync();
    if (info == null)
    {
        return RedirectToAction("Index");
    }

    var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider,info.ProviderKey,false,false);
    if (result.Succeeded)
    {
        return RedirectToAction("Index");
    }

    return RedirectToAction("Index");
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。