Mainos / Advertisement:

Apache2 oauth

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun

mod_auth_openidc on todennus moduuli Apache 2.X Web palvelimilla jolla käyttäjät voivat kirjautua Open ID Connect palveluntarjoajiin. Se on lisäksi OAuth 2.0 Resurssi palvelin.

Asennus

  • Apache2.X

Lataa viimeisin versio täältä: https://github.com/pingidentity/mod_auth_openidc/releases

 wget https://github.com/pingidentity/mod_auth_openidc/releases/download/v2.0.0/libapache2-mod-auth-openidc_2.0.0-1_amd64.deb
 wget https://github.com/pingidentity/mod_auth_openidc/releases/download/v2.0.0/libcjose_0.4.1-1_amd64.deb
 dpkg -i libapache2-mod-auth-openidc_2.0.0-1_amd64.deb
 dpkg -i libcjose_0.4.1-1_amd64.deb

Asenna APTin avulla vielä viimeiset vaaditut paketit

 sudo apt install -f

Ota käyttöön moduuli ja käynnistä apache uudelleen

 sudo a2enmod auth_openidc
 sudo service apache2 restart

Konfigurointi

Tässä on esimerkki konfigurointeja.

Azure AD

  • Luo Azure AD Directoryyn Applicaatio sivuja varten.

Luo avain vuodeksi tai kahdeksi.

Lisää tämä Apache2 konfiguraatioon

<VirtualHost>
...
OIDCProviderMetadataURL https://login.microsoftonline.com/<tenant_id>/.well-known/openid-configuration
OIDCClientID <client_id>
OIDCClientSecret <client_secret>
OIDCCryptoPassphrase <client_secret>
OIDCDefaultLoggedOutURL http://example.org/redirect_uri

OIDCRedirectURI https://example.org/redirect_uri
...
</VirtualHost>

Korvaa:

  • tenant_id = Tenantin ID, saat sen Endpointin alta
  • client_id = Löytyy Applicationista
  • client_secret = Avain, jonka pitää luoda. Kopioi se tänne. Älä tallenna muualle äläkä jaa sitä.

Lisää hakemistoihin tai sijainteihin

<Directory>
...
AuthType openid-connect
Require valid-user
...
</Directory>

Käynnistä Apache2 uudelleen

Verkkosivuille esimerkkejä

Kirjaudu ulos linkki

  • Muuta example.org domain nimeksi jota käytät Azure AD:sssa Sign IN ID:nä ja Logout URL pitää olla määritetty Azure AD asetuksiin.
<a href="https://example.org//redirect_uri?logout=https%3A%2F%2Fexample.org%">Logout</a>

Näytä käyttäjän nimi kun on kirjautunut

<?php 
$value = (array_map("htmlentities", apache_request_headers())); 
?>

<h2> Welcome <?php echo $value['OIDC_CLAIM_name']; ?> ! </h2>

Tulosta kaikki tiedot

print_r (array_map("htmlentities", apache_request_headers()));

Lähde

https://github.com/pingidentity/mod_auth_openidc/

Mainos / Advertisement: