maulana-oauth

1.0.2 • Public • Published

maulana-oauth

module yang di gunakan untuk menghubungkan oauth dari sso server seperti laravel passport ke dalam aplikasi node js, module ini menggunakan base module dari passport.js namun dibuat lebih ringkas dalam konfigurasi untuk mempermudah.

Instalisasi

 # instalisasi dengan npm
 npm i maulana-oauth
 # instalisasi dengan pnpm
 pnpm i maulana-oauth

Penggunaan

Konfigurasi pada app.js

const  oauth  =  require('maulana-oauth')

// Inisialisasi SSO
app.use(oauth.init());

// Pengaturan session
app.use(oauth.session());

Konfigurasi file .env

setelah melakukan konfigurasi app.js perlu di lakukan konfigurasi pada file .env untuk menambahkan variabel pendukung.

AUTHORIZATION_URL=https://server.dev/oauth/authorize
TOKEN_URL=https://server.dev/oauth/token
CLIENT_ID=<client_id>
CLIENT_SECRET=<secret_id>
CALLBACK_URL=https://client.dev/callback
SCOPE=view-user
OAUTH_PUBLICKEY = <path_publicKey>
Parameter Keterangan
AUTHORIZATION_URL url authorization dari server SSO/oauth misalkan https://server.dev/oauth/authorize
TOKEN_URL url token dari SSO/oauth untuk request accessToken misalkan https://server.dev/oauth/token
CLIENT_ID client id dari server SSO/oauth
CLIENT_SECRET Client Secret dari server SSO/oauth
CALLBACK_URL Callback url untuk melakukan request accessToken misalkan https://client.dev/callback
SCOPE scope yang akan di request oleh aplikasi ke sso server
OAUTH_PUBLICKEY public key dari sso server untuk proses verifikasi jwt secara mandiri di aplikasi

Menambahkan route /login

route ini digunakan untuk menampilkan page sso login dengan cara meredirect ke page sso login

app.get('/login', oauth.redirect());

Menambahkan route /callback

route ini digunakan untuk melakukan request accessToken

app.get('/callback', oauth.callback('/login'), (req, res) => {
    oauth.auth(req, res)
});
Fungsi Keterangan
oauth.callback(RouteLogin) digunakan untuk request accessToken RouteLogin digunakan jika proses gagal maka akan di arahkan ke RouteLogin
oauth.auth(req, res) digunakan untuk menyimpan session login dan mendapatkan accessToken
oauth.userId(req, res) digunakan untuk mendapatkan userID dari sso server

Readme

Keywords

Package Sidebar

Install

npm i maulana-oauth

Weekly Downloads

2

Version

1.0.2

License

MIT

Unpacked Size

5.94 kB

Total Files

5

Last publish

Collaborators

  • maulanasopian33