У меня есть контроллер webapi, который обрабатывает внешние oauth-логины и возвращает JSON Web Token.У меня проблемы с выяснением, как перенаправить обратно в мое приложение Angular с помощью веб-токена.
У меня есть угловая форма:
<form #form method="post" class="form-horizontal" action="https://localhost:44377/api/Account/ExternalLogin">
<div>
<p>
<button ion-button block [disabled]="isDisabled" (click)="form.submit()" type="submit" title="Log in using your Coinbase account">
Coinbase
</button>
<input type="hidden" name="provider" value="Coinbase">
</p>
</div>
</form>
Которые перенаправляют на монетные базы или используют встроенныеПроблемы .net-core:
[HttpGet("ExternalLoginCallback")]
[AllowAnonymous]
public async Task<IActionResult> ExternalLoginCallback(string returnUrl = null, string remoteError = null)
{
var info = await _signInManager.GetExternalLoginInfoAsync();
var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent: false, bypassTwoFactor: true);
var user = await (result.Succeeded ?
_userManager.FindByLoginAsync(info.LoginProvider, info.ProviderKey)
: this.CreateIdentityUser(info));
var jwt = await Tokens.GenerateJwt(_jwtFactory.GenerateClaimsIdentity(user.UserName, user.Id),_jwtFactory, _jwtOptions);
Response.Headers.Add("A4tAuth", jwt);
return Redirect(returnUrl);
}
Поскольку я перенаправляю, мои заголовки потеряны. Я не хочу передавать свой токен аутентификации в качестве параметра получения. Угловое приложение представляет собой статическую HTML-страницу, которая существует на сервере. Есть простой способ вернуть эту страницу в качестве ответа с моим заголовком JWTвпрыскивается