Ich baue eine Angular 4-Site, die Authentifizierungsdetails (Benutzername/Passwort) an IdentityServer4 sendet und erfolgreich ein Token zurück erhält (Grant-Typ = Ressourceneigner-Passwort).Cookie-Validierung von IdentityServer4
Jetzt möchte ich Benutzer zu einer anderen (anderen) ASP Core MVC-Site von meiner Angular 4 Website umleiten. Irgendwie kann ich keinen Weg finden, um "Header" in Umleitung einzurichten, um Token als Autorisierung zu übergeben: Bearer xxx.
stelle ich Cookie in Angular-Website und dann window.location.href = 'www.example.com/another_site
nur
auf MVC-Website konfigurieren ich in Startup.cs:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
...
...
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationScheme = "Cookies_Authentication",
AutomaticAuthenticate = true,
AutomaticChallenge = true
});
app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions
{
Authority = "http://my_identityserver4_address:49950",
RequireHttpsMetadata = false,
AuthenticationScheme = "Cookies_Authentication",
ApiName = "Protected_Api.get",
AutomaticAuthenticate = true,
AutomaticChallenge = true
});
}
aber ich empfange noch 401 Unauthorized Antwort von Website MVC. Was mache ich falsch?
Kann IdentityServer nach einem speziellen Cookie-Namen suchen? Ich gründe es in Angular als:
cookieService.setItem('access_token', 'eyJhbGciOiJSUzI1NiIsImtpZCI6ImFlOWEyMzNhZDczOTUwNWI4YjJkZGE0NTNiMDE........)
Ich denke, Ihre Antwort war die nächste - ich muss mehr über [OAuth und OpenID Connect] (https://identityserver4.readthedocs.io/en/release/quickstarts/3_interactive_login.html) aber Richtung ist zu verwenden OpneID Connect für Cookie-Authentifizierung und nicht Bearer-Header. – Jasper