Ich habe einen mobilen Client (App), der den Benutzer mit Google authentifizieren lässt. So erhält der Kunde ein Zugangstoken und einige Informationen (Name, E-Mail usw.) von Google. Funktioniert gut!Validieren eines Zugriffstokens in meiner ASP.NET-Web-API
Ich erstellte auch eine ASP.NET-Web-API, mit der die mobile App kommunizieren sollte. Auf der Client-Seite füge ich das Token dem HttpClient hinzu mit: client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue ("Bearer", "pretty_long_access_token_separated_by_two_dots");
Frage 1: Ich versuche, die Zugriffstoken auf dieser Seite zu „entschlüsseln“ (um sicherzustellen, dass es in Ordnung ist): https://jwt.io/ Der Header und die Nutzlast ist alles in Ordnung, aber es scheint, als ob es sich um eine „ungültig ist Unterschrift "(sagt in der Unterseite). Sollte ich mir darüber Gedanken machen?
Auf der Serverseite, habe ich dies in der Startup-Klasse auf die Konfigurationsmethode:
app.UseJwtBearerAuthentication(new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AllowedAudiences = new List<string> {"my_client_id"},
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
{
new SymmetricKeyIssuerSecurityTokenProvider(@"https://accounts.google.com/", "my_client_secret")
},
});
Das einzige, was ich mit dem Token tun will, auf meiner Server-Seite, macht Sicher, dass nur validierte Benutzer aus meiner App auf meinen API-Controller zugreifen dürfen.
Frage 2: Ist UseJwtBearerAuthentication das Richtige für mich, oder gehe ich in die falsche Richtung?
Mein Problem ist, bekomme ich 401, unbefugt, beim Versuch, auf meine WEB-API-Controller zuzugreifen.
Wenn ich auf dem richtigen Weg bin, kann ich versuchen, mehr über die Server-Seite Setup zu erklären ...
Alle helt sehr geschätzt werden würde!
Nur um zu klären, geben Sie das JWT oder Google aus? – Ben