2012-06-28 3 views
10

Gibt es irgendwelche SAML-Bibliotheken für NodeJS? Es scheint eine Menge Code für Knoten verfügbar zu sein, aber keine SAML-Bibliotheken. Wenn nicht, gibt es einen Grund, warum nicht?NodeJS SAML Lib

Antwort

1

ich das nicht wirklich versucht, noch haben, aber es scheint zu sein, was Sie suchen: https://npmjs.org/package/passport-saml

Es ist auch Art von neuen (es Antwort nach dem letzten herauskam gepostet).

+1

Ich denke, es kann nicht als Identity-Provider fungieren, nur ein Service (Authentifizierung) -Provider. – wizonesolutions

+0

@wizonesolutions ja, das ist zu erwarten. – cstamas

+0

Nicht wirklich sicher, was das Protokoll ist, um eine Antwort zu markieren, die nur zu einem viel späteren Zeitpunkt möglich ist, aber diese Antwort auf jeden Fall markiert. – oliakaoil

8

Node.js ist immer noch eine neue Technologie und wird hauptsächlich bei Startups oder Unternehmen verwendet, die mit Echtzeit Innovationen entwickeln. Daher ist SAML unter ihnen nicht beliebt, du wirst mehr OAuth in diesem Raum finden. SAML ist keine einfache zu implementierende Spezifikation (im Gegensatz zu SWT oder JWT). Das harte Stück ist die Digitale Signatur, die unter anderem XML-Kanonisierung benötigt.

Vor einigen Monaten schrieb ich einen Artikel über Windows Azure ACS mit (der WS-Federation-Protokoll verwendet und SimpleWebTokens) mit node.js

http://nodeblog.cloudapp.net/using-windows-azure-access-control-service-acs-from-a-node-app

Wenn Sie eine SAML-Bibliothek in schriftlicher Form für Interesse node.js lass es mich wissen. Das interessiert mich.

Matias

+0

Der Link ist zu dieser Zeit gebrochen – Houseman

2

Hier haben Sie eine http://github.com/leandrob/saml20

var saml = require('saml20'); 

var options = { 
    publicKey: 'MIICDzCCAXygAwIBAgIQVWXAvbbQyI5Bc...', 
    audince: 'http://myservice.com/' 
} 

saml.validate(rawAssertion, options, function(err, profile) { 
    // err 

    var claims = profile.claims; // Array of user attributes; 
    var issuer = profile.issuer: // String Issuer name. 
}); 
+0

HI - Ich habe dieses Paket gesehen, aber woher kommt der Parameter 'rawAssertion'? Ist es Teil der HTTP-Anfrage? –

+0

rawAsssertion kommt von samlResponse kommt von einem IDP-Server nach der Authentifizierung, im Grunde Samrresponse bestehen aus Assertion, für diese saml20, api müssen Assertion übergeben werden –