1.0.2 • Published 17 days ago

maulana-oauth v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
17 days ago

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>
ParameterKeterangan
AUTHORIZATION_URLurl authorization dari server SSO/oauth misalkan https://server.dev/oauth/authorize
TOKEN_URLurl token dari SSO/oauth untuk request accessToken misalkan https://server.dev/oauth/token
CLIENT_IDclient id dari server SSO/oauth
CLIENT_SECRETClient Secret dari server SSO/oauth
CALLBACK_URLCallback url untuk melakukan request accessToken misalkan https://client.dev/callback
SCOPEscope yang akan di request oleh aplikasi ke sso server
OAUTH_PUBLICKEYpublic 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)
});
FungsiKeterangan
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
1.0.2

17 days ago

1.0.1

17 days ago

1.0.0

17 days ago