【问题标题】:Bad redirect url Google错误的重定向网址谷歌
【发布时间】:2020-07-15 17:00:53
【问题描述】:

伙计们!

我在重定向到 Google 登录页面时遇到问题。我在我的项目中使用 RazorPages,但我遇到了一些问题......这是我的 Login.cshtml 代码:

@model LoginModel

@{
    ViewData["Title"] = "Log in";
    Layout = "~/Areas/Identity/Pages/_AuthLayout.cshtml";
}

<div class="col-md-10 offset-md-1">
    <div class="row">
        <div class="col">
            <section>
                <div class="login-form-icon">
                    <i class="fas fa-user-circle fa-9x text-secondary text-center"></i>
                </div>
                <form id="account" method="post" asp-page-handler="LoginAsync">
                    <div asp-validation-summary="All" class="text-danger"></div>
                    <div class="form-group">
                        <label asp-for="Input.Email"></label>
                        <input asp-for="Input.Email" class="form-control" />
                        <span asp-validation-for="Input.Email" class="text-danger"></span>
                    </div>
                    <div class="form-group">
                        <label asp-for="Input.Password"></label>
                        <input asp-for="Input.Password" class="form-control" />
                        <span asp-validation-for="Input.Password" class="text-danger"></span>
                    </div>
                    <div class="form-group">
                        <div class="checkbox">
                            <label asp-for="Input.RememberMe">
                                <input asp-for="Input.RememberMe" />
                                @Html.DisplayNameFor(m => m.Input.RememberMe)
                            </label>
                        </div>
                    </div>
                    <div class="form-group">
                        <button type="submit" class="btn btn-primary btn-block">Zaloguj</button>
                    </div>
                </form>
            </section>
        </div>
        <div class="col">
            <h3>Zaloguj się przez:</h3>
            @{
                if (Model.ExternalLogins.Count == 0)
                {
                    <div>Brak możliwości zalogowania przez serwisy zewnętrzne.</div>
                }
                else
                {
                    <form method="post"
                          asp-page-handler="ExternalLogin"
                          asp-route-returnUrl="@Model.ReturnUrl">
                          <div>
                              @foreach (var provider in @Model.ExternalLogins)
                              {
                                  <button type="submit" 
                                          class="btn btn-primary" 
                                          name="provider" 
                                          value="@provider.Name" 
                                          title="Zaloguj się za pomocą konta 
                                          @provider.DisplayName">
                                      @provider.DisplayName
                                  </button>
                              }
                          </div>
                    </form>
                }
            }
        </div>
    </div>
    
</div>

    @section Scripts {
        <partial name="_ValidationScriptsPartial" />
    }

这是我的 Login.cshtml.cs 中的方法

        {
            foreach (var cookie in Request.Cookies.Keys)
            {
                Response.Cookies.Delete(cookie);
            }

            var redirectUrl = Url.Page("ExternalLogin", ReturnUrl = returnUrl);
            var properties = _signInManager.ConfigureExternalAuthenticationProperties(provider, redirectUrl);
            return new ChallengeResult(provider, properties);
        }

我想重定向到 Google 登录页面,但是当我执行此方法时 - 什么也没发生...我的 redirectUrl: "/Identity/Account/ExternalLogin?handler=%2F", provider: "Google", returnUrl "/ "

【问题讨论】:

    标签: asp.net-core


    【解决方案1】:

    我的redirectUrl:“/Identity/Account/ExternalLogin?handler=%2F”,提供者:“Google”,returnUrl“/”

    您可以尝试使用以下代码生成redirectUrl。

    var redirectUrl = Url.Page("ExternalLogin", pageHandler: "Callback", values: new { returnUrl });
    

    【讨论】:

      猜你喜欢
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 2012-10-13
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-12
      相关资源
      最近更新 更多