Construct Oauth URL


Oauth URL

LP harus membuat Oauth URL yang berisi query params yang diperlukan untuk proses login dan pembuatan token

Request

Oauth URL
Method
GET
Query Params
QueryTypeDescriptionExample (value : encoded)
scopestring, requiredData profile peserta yang ingin didapatkan, contoh name email prakerjaid notelpSemua value harus diconcat / join dengan menggunakan spasi menjadi name email prakerjaid notelpname email prakerjaid notelp : name%20email%20prakerjaid%20notelp
statestring, requiredState adalah unique value yang dibuat oleh LP. Memastikan state redirect_uri sesuai dengan state Oauth URLdari LP.STATE-123456 : STATE-123456
redirect_uristring, requiredURL Callback milik LP jika login berhasil.https://sso-demo.prakerja.go.id/createtoken : https%3A%2F%2Fsso-demo.prakerja.go.id%2Fcreatetoken
login_uristring, requiredURL Callback milik LP jika login gagal, umumnya ke halaman login di sisi LP.https://sso-demo.prakerja.go.id/login : https%3A%2F%2Fsso-demo.prakerja.go.id%2Flogin
client_idstring, requiredClient ID akan diberikan oleh Prakerja ke DP / LPprakerjaoauth : prakerjaoauth
client_namestring, requiredClient Name akan diberikan oleh Prakerja ke DP / LPPrakerjaOauth : PrakerjaOauth
Complete URL structure
1https://oauth.prakerja.go.id/consent-sso?
2            client_id=prakerjaoauth&
3            client_name=PrakerjaOauth&
4            login_uri=https%3A%2F%2Fsso-demo.prakerja.go.id%2Flogin&
5            redirect_uri=https%3A%2F%2Fsso-demo.prakerja.go.id%2Fcreatetoken&
6            scope=name%20email%20prakerjaid%20notelp&
7            state=STATE-123456

Response

1. Login Needed

User belum login, maka akan terbuka URL halaman login Prakerja pada web browser

login page
Klik gambar untuk memperbesar
2. Consent Needed

User sudah login, maka akan terbuka URL halaman consent pada web browser

consent page
Klik gambar untuk memperbesar
Try This!
 
Example Code
1// Generated by Prakerja Generator
2// for complete documentation please visit https://developer.prakerja.go.id
3
4const queries = [
5  {
6    key: 'client_id',
7    val: "",
8  },
9  {
10    key: 'client_name',
11    val: "",
12  },
13  {
14    key: 'login_uri',
15    val: "",
16  },
17  {
18    key: 'redirect_uri',
19    val: "",
20  },
21  {
22    key: 'scope',
23    val: "",
24  },
25  {
26    key: 'state',
27    val: "",
28  },
29];
30
31const oauthUrl = queries.reduce(
32  (accumulator, currentValue) => `${accumulator}&${currentValue.key}=${encodeURIComponent(currentValue.val)}`,
33  `https://oauth.prakerja.go.id/consent-sso?`,
34);
35
36console.log({oauthUrl});
37