2017-12-26 5 views
1

Ich versuche herauszufinden, wie die Identity Server 4-Authentifizierung unten mit NodeJS - weg von meiner Komfortzone hier.Identity Server 4 für NodeJS API

services.AddAuthentication(IdentityServerAuthenticationDefaults 
.AuthenticationScheme) 
    .AddIdentityServerAuthentication(
     options => 
     { 
      options.Authority = "<authority-url>"; 
      options.ApiName = "<api-url>"; 
      }); 

ich etwas in der Strömung hier als C# -Implementierung bin fehlt ist kein Geheimnis, oder ähnlich versehen - so das Token wahrscheinlich über Identitätsserver überprüft wird? Wie würde ich das Token mit NodeJS verifizieren, wenn ich kein "Geheimnis" habe, um es zu verifizieren?

Ich bin über introspection endpoint gestolpert - bin ich in die richtige Richtung?

Antwort

0

Ich konnte dies mit dem jwks -endpoint lösen und es ist öffentlichen Schlüssel-Token zu überprüfen und dann fand ich auch eine schönes package, dass ich die Middleware vorbereiten verwendet:

private issuer: string = process.env.idsrv; 


auth = jwt({ 
    secret: jwksClient.expressJwtSecret({ 
     cache: true,  // see https://github.com/auth0/node-jwks-rsa#caching, 
     cacheMaxAge: ms('24h'), 
     rateLimit: true, // see https://github.com/auth0/node-jwks-rsa#rate-limiting 
     jwksRequestsPerMinute: 100, 
     jwksUri: `${this.issuer}/.well-known/jwks` 
    }), 

    // validate the audience & issuer from received token vs JWKS endpoint 
    audience: `${this.issuer}/resources`, 
    issuer: this.issuer, 
    algorithms: ["RS256"] 
}); 
Verwandte Themen