Mainos / Advertisement:

LemonLDAP::NG

Kohteesta Taisto
Versio hetkellä 29. toukokuuta 2017 kello 13.01 – tehnyt Minh (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun

LemonLDAP::NG on Single Sign On (SSO) sovellus ja se on avointa lähdekoodia. Tätä käytetään hallinnoimaan kirjautumisia verkkosivuilla esimerkiksi keskitetysti. Voit yhdistää tähän eri salasana tietokantoja, esimerkiksi LDAP.

Tutustu täältä: https://lemonldap-ng.org/

Asennus

Asenna dependerit

 sudo apt install libmouse-perl libnet-ldap-perl libcache-cache-perl libdbi-perl perl-modules libwww-perl libcache-cache-perl libxml-simple-perl libsoap-lite-perl libhtml-template-perl libregexp-assemble-perl libregexp-common-perl libjs-jquery libxml-libxml-perl libcrypt-rijndael-perl libio-string-perl libxml-libxslt-perl libconfig-inifiles-perl libjson-perl libstring-random-perl libemail-date-format-perl libmime-lite-perl libcrypt-openssl-rsa-perl libdigest-hmac-perl libdigest-sha-perl libclone-perl libauthen-sasl-perl libnet-cidr-lite-perl libcrypt-openssl-x509-perl libauthcas-perl libtest-pod-perl libtest-mockobject-perl libauthen-captcha-perl libnet-openid-consumer-perl libnet-openid-server-perl libunicode-string-perl libconvert-pem-perl libmoose-perl libplack-perl libauthen-captcha-perl

Lisää APT-source.listiin

 sudo nano /etc/apt/sources.list.d/lemonldap-ng.list

tiedostoon

# LemonLDAP::NG repository
deb     https://lemonldap-ng.org/deb stable main
deb-src https://lemonldap-ng.org/deb stable main

Lataa GPG allekirjoitus avain ja asenna se

 wget https://lemonldap-ng.org/_media/rpm-gpg-key-ow2
 sudo apt-key add rpm-gpg-key-ow2

Asenna lemonldap-ng paketti

 sudo apt update & sudo apt install lemonldap-ng

Jos käytät Nginx asenna lisäksi

 sudo apt install lemonldap-ng-fastcgi-server

Muokkaa oletusdomain omaksi ow2.orgiksi. muuta tämä omaksi domainiksi. Ja aja sitten tämä komentorivillä. Tämä päivittää kaikki konfiguraatioihin oma domain nimesi.

 sudo sed -i 's/example\.com/ow2.org/g' /etc/lemonldap-ng/* /var/lib/lemonldap-ng/conf/lmConf-1.js /var/lib/lemonldap-ng/test/index.pl

Konfiguroi hosts

 echo "127.0.0.1 reload.example.com" >> /etc/hosts

Konfigurointi

Nginx

Asensithan lemonldap-ng-fastcgi-server paketin?

Paketti automaattisesti luo symlinkit sites-available hakemistoon Nginxään mutta otaaksesi käyttöön tee toinen symlinkki sites-enabled hakemistoon

sudo ln -s /etc/nginx/sites-available/handler-nginx.conf /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/manager-nginx.conf /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/portal-nginx.conf /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/test-nginx.conf /etc/nginx/sites-enabled/

Ja lataa Nginx konfiguraatio uudelleen

 sudo service nginx reload

Webhallinta (manager)

Siirry manageriin jatkaaksesi konfigurointia.

Kirjaudu oletustunnuksella dwho ja salasanalla dwho

Portaalin kustomointi

Portaalia voi kustomoida HTML / CSS / JS:llä suoraan /usr/share/lemonldap-ng/portal-skins hakemistossa.

SSO käyttöön eri palveluissa

Tässä ohjeita miten palvelut saadaan kirjautumaan LemonLDAPin SSO:n kautta.

Mene Manageriin _-> OpenID Connect Relaying parties ja luo uusi OpenID Relaying party. Nimeä se haluamallasi tavalla.

Options tabin alta:

  • Auhthentication
    • Client ID - Asiakkaan tunnus, generoi tunnus jota käytät sovelluksessa.
    • Client secret: Asiakkaan tunnuksen salausavain, jota käytetään sovelluksessa. Generoi oma.
  • Display
    • Display name: Sovelluksen nimi
    • Logo: Sovelluksen kuvake
  • Redirection addresses: Uudelleenohjaus osoitteet, erotetaan välilyönnillä. Eli nämä ovat redirect_uri parametrissä.

Gitlab

Avaa /etc/gitlab/gitlab.rb konfigurointi tiedosto

Konfiguroi se seuraavanlaiseksi

gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['oauth2_generic']
gitlab_rails['omniauth_block_auto_created_users'] = false
gitlab_rails['omniauth_providers'] = [
  {
    'name' => 'oauth2_generic',
    'app_id' => 'random_key', #Change this to own app id
    'app_secret' => 'random_key', #Change this to own app key
    'args' => {
        "scope" => "openid",
      client_options: {
        'site' => 'https://auth.example.org', # including port if necessary
        'authorize_url' => '/oauth2/authorize',
        'token_url' => '/oauth2/token',
        'user_info_url' => '/oauth2/userinfo',
      },
      user_response_structure: {
        root_path: ['data', 'user'],
        attributes: { nickname: 'username', first_name: 'name', last_name: 'family_name', email: 'email' } 
      },
    }
  }
]

Sulje tiedosto ja aja seuraava komento lataaksesi konfiguraation uudelleen

 sudo gitlab-ctl reconfigure

Linkkejä:

https://gitlab.com/satorix/omniauth-oauth2-generic

Linkkejä

https://elatov.github.io/2014/02/lemonldap-ng-ldap-saml-google-apps/

Mainos / Advertisement: