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
https://oauth.prakerja.go.id/consent-sso
Method
GETQuery Params
Setiap value dari query param harus di-encodeURIComponent
Query | Type | Description | Example (value : encoded) |
---|---|---|---|
scope | string, required | Data profile peserta yang ingin didapatkan, contoh name email prakerjaid notelpSemua value harus diconcat / join dengan menggunakan spasi menjadi name email prakerjaid notelp | name email prakerjaid notelp : name%20email%20prakerjaid%20notelp |
state | string, required | State adalah unique value yang dibuat oleh LP. Memastikan state redirect_uri sesuai dengan state Oauth URLdari LP. | STATE-123456 : STATE-123456 |
redirect_uri | string, required | URL Callback milik LP jika login berhasil. | https://sso-demo.prakerja.go.id/createtoken : https%3A%2F%2Fsso-demo.prakerja.go.id%2Fcreatetoken |
login_uri | string, required | URL 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_id | string, required | Client ID akan diberikan oleh Prakerja ke DP / LP | prakerjaoauth : prakerjaoauth |
client_name | string, required | Client Name akan diberikan oleh Prakerja ke DP / LP | PrakerjaOauth : 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
2. Consent Needed
User sudah login, maka akan terbuka URL halaman consent pada web browser
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