【发布时间】: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