maulana-oauth
v1.0.2
Published
merupakan module yang di gunakan untuk mengkoneksikan oauth laravel dll ke node js
Downloads
3
Maintainers
Readme
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|