2012-06-28 42 views
10

Có thư viện SAML nào cho NodeJS không? Có vẻ là một tấn mã có sẵn cho nút nhưng không có thư viện SAML. Nếu không, có lý do gì không?NodeJS SAML Lib

Trả lời

1

Tôi không thực sự cố gắng này, nhưng nó có vẻ là những gì bạn đang tìm kiếm: https://npmjs.org/package/passport-saml

Nó cũng loại mới (nó ra sau khi câu trả lời cuối cùng đã được đăng).

+1

Tôi nghĩ rằng nó không thể hoạt động như một nhà cung cấp nhận dạng, chỉ có một nhà cung cấp dịch vụ (xác thực). – wizonesolutions

+0

@wizonesolutions vâng, điều đó được mong đợi. – cstamas

+0

Không thực sự chắc chắn giao thức là gì để đánh dấu câu trả lời chỉ có thể vào một ngày sau đó, nhưng đánh dấu câu trả lời này trong mọi trường hợp. – oliakaoil

8

Node.js vẫn là một công nghệ mới và chủ yếu được sử dụng trên các công ty khởi nghiệp hoặc doanh nghiệp đang đổi mới theo thời gian thực. Do đó SAML không phải là phổ biến trong số đó, bạn sẽ tìm thấy nhiều OAuth trong không gian đó. SAML không phải là một thông số đơn giản để thực hiện (như trái ngược với một cái gì đó như SWT hoặc JWT). Phần cứng là Chữ ký số yêu cầu chuẩn hóa XML trong số những thứ khác.

Vài tháng trước, tôi đã viết một bài báo về việc sử dụng Windows Azure ACS (trong đó sử dụng giao thức WS-Federation và SimpleWebTokens) với Node.js

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

Nếu bạn quan tâm đến việc viết một thư viện SAML cho node.js cho tôi biết. Tôi quan tâm đến điều đó.

Matias

+0

Liên kết bị hỏng tại thời điểm này – Houseman

2

Ở đây bạn có một 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 - Tôi thấy gói này, nhưng tham số 'rawAssertion' đến từ đâu? Đây có phải là một phần của yêu cầu http không? –

+0

rawAssertion là bắt nguồn từ samlResponse đến từ một máy chủ IDP sau khi xác thực, về cơ bản samlresponse bao gồm Assertion, cho saml20 này, api u phải vượt qua Assertion –