Registrasi dan Login dengan Metode Social Media

graph TD ns([Mulai]) ne([Selesai]) n1[User mengunjungi app] n2{User terlogin?} n3["Inisiasi OAuth, lalu redirect (1)"] n4[User menyelesaikan proses OAuth] n5["Kirim hasil OAuth (2)"] n6{User sudah terdaftar?} n7[User berbekal token-token<br>Access & Refresh] n8["User mendaftar (3)"] n9{Pendaftaran menggunakan<br>Facebook/Google?} n10["Redirect ulang OAuth (4)"] ns-->n1-->n2 n2-- Ya -->ne n2-- Tidak -->n3-->n4-->n5-->n6 n6-- Ya -->n7-->ne n6-- Tidak -->n8-->n9 n9-- Ya -->n10-->n4 n9-- Tidak -->n3

Dalam setiap request/method, gunakan provider yang sesuai. Ambil contoh Facebook:

(1) Server endpoint: GET ​/auth​; Client SDK method: auth.oauthRedirect("facebook", callback_url)

(2) Server endpoint: POST ​/auth; Client SDK method: auth.login("facebook", data)

(3) Server endpoint: POST ​/auth​/account; Client SDK method: auth.register("facebook", data)

(4) Client SDK method: auth.redoOAuth("facebook")