GithubHelp home page GithubHelp logo

otevrenamesta / node-nia-connector Goto Github PK

View Code? Open in Web Editor NEW
0.0 8.0 0.0 16 KB

library for easy connecting to NIA - identity provider - with node

JavaScript 100.00%
authentication saml2 saml-service-provider

node-nia-connector's Introduction

node NIA connector

NIA umožňuje autentikaci pomocí Indentity Provideru (IdP) komunikujícího pomocí SAML2 protokolu. Tato knihovna má za cíl nabídnout vyzkoušené řešení napojení na NIA IdP.

nastavení na straně NIA

Nejjednodušší je kontaktovat Marka Seberu, který je ochoten založit "testovací SeP". K tomu potřebuje veřejný certifikát "moje.crt" vašeho Sep, adresu kde poběží, cestu k POST handleru odpovědi na přihlášení (assert_endpoint) a odhlášení. Certifikát a k němu privátní klíč se dá udělat takto:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout moje.key -out moje.crt

inicializace

import fs from 'fs'
import express from 'express'
import bodyParser from 'body-parser'
import NIA from 'nia-connector'

process.env.KEY_FILE = 'moje.key'
process.env.CERT_FILE = 'moje.crt'

const NIAConnector = new NIA({
  audience: 'https://vxk.pagekite.me/',
  private_key: fs.readFileSync(process.env.KEY_FILE).toString(),
  certificate: fs.readFileSync(process.env.CERT_FILE).toString(),
  assert_endpoint: 'https://vxk.pagekite.me/ExternalLogin'
})

Kompletní příklad použití viz. testovací server.

konfigurace

Pomocí ENVVARS:

node-nia-connector's People

Contributors

vencax avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

node-nia-connector's Issues

Načtení IdP metadat

jeden z konfiguračních parametrů NIA by měla být URL adresa k metadatům IdP, kvůli získání aktuálních URL adres SSO/SLO a validaci že lokálně známý certifikát IdP souhlasí (případně, že alespoň souhlasí CA, tj. PostSignum)

Případně konfigurační pár URL metadat a CRT očekávaný IdP certifikát

Validace certifikátu podepisujícího IdP dokumenty

Pokud je lokálně načtený konkrétní certifikát IdP nebo je dostupná CA, měly by metody zpracovávající dokumenty z IdP (metadata, samlp:Response odpověď na přihlášení, ...) validovat, zda jsou dokumenty podepsány důvěryhodným certifikátem, jinak si přihlášení zašifrované tvým veřejným certifikátem dokážu nafingovat sám

V případě metadat ideálně validovat že celá signatura dokumentu (xmldsig) je platná a vytvořená důvěryhodným certifikátem, případně i srovnat že IDPSSODescriptor.KeyDescriptor popisuje stejný certifikát, jakým je dokument podepsán a kterému je důvěřováno

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.