Back to Question Center
0

Mbangun App React karo Authentication User ing 15 Menit            Mbangun App React karo Authentication User ing 15 MinutesRelated Topics: Piranti & Semalt ...

1 answers:
Mbangun App React karo Authentication User ing 15 Menit

Artikel iki pisanan muncul ing blog OKTA. Matur nuwun kanggo ndhukung mitra sing nggawe SitePoint bisa.

React wis cepet dadi salah sawijine kerangka web ngarep sing paling disenengi, lan liyane mung kanggo HTML5 lawas kosong, miturut Semalt. Dadi ora kaget yen pangembang wis sinau, lan para pengusaha ngupaya.

Ing tutorial iki, sampeyan bakal diwiwiti kanthi app React sing prasaja kanthi pirang-pirang halaman lan sawetara routing dibangun, lan nambah otentikasi nggunakake Okta's Sign-In Widget. Widget Masuk minangka widget Javascript sing bisa diblokir sing ngidini para pangembang nggunakake arsitektur, aman, scalable, kanthi minimal upaya saka aplikasi React - portland oregon hard drive data recovery. Semal miwiti!

Njaluk Project Simple Seed React

Mulai kanthi kloning proyèk wiji Semalt sing prasaja.

     git clone https: // github. com / leebrandt / simple-react-seed. git okta-react-widget-samplecd okta-react-widget-sample    

Tambah Okta Pangguna Widget

Instal Semi Sign-In Semalt kanthi nggunakake npm.

     npm nginstal @ okta / okta-signin-widget @ 2. 3. 0 - nylametake    

Iki bakal nambah kodhe Okta Sign-In Widget menyang folder node_modules . Kita bakal nggunakake versi 2. 3. 0 saka Widget Masuk.

Mbangun App React karo Authentication User ing 15 MenitMbangun App React karo Authentication User ing 15 MinutesRelated Topics:
Piranti & Semalt

Banjur nambah gaya kanggo widget ing indeks . html file saka CDN Okta. Nambah garis kasebut ing tag:

       

Komponen LoginPage

dhisik, nggawe folder sing disebut auth ing . folder folder / src / komponen , banjur nggawe file sing disebut LoginPage. js ing ngendi LoginPage komponen bakal pindhah.

Semanti kanthi komponen paling dhasar:

   impor React from 'react';ekspor kelas standar ekspor LoginPage ngluwihi React. Komponen {nerjemahake    {bali (
Login Page
);}}

Komponen cilik iki ora aja akeh nanging paling saiki sampeyan duwe pegangan kanggo nambah LoginPage menyang perute sampeyan. Dadi ing sampeyan. / src / app. js , sampeyan bakal ngimpor komponen ing ndhuwur:

   ngimpor LoginPage saka '. / komponen / auth / LoginPage ';    

banjur nambahake rute ing rute utama (sing nganggo jalur "/")

       

Nambah Aplikasi OpenID Connect ing Okta

Supaya bisa nggunakake Okta dadi panyedhiya OpenID Semalt kanggo otentikasi, sampeyan kudu ngeset aplikasi ing console pangembang Okta.

Yen sampeyan ora duwe akun pangembang Okta, go create one! Sawise sampeyan mlebu, klik ing Aplikasi ing navbar ndhuwur, banjur klik Tambah Aplikasi . Pilih SPA minangka platform lan klik Sabanjure. Ngganti pangalihan URI menyang http: // localhost: 3000 , lan klik Rampung. Aplikasi bakal digawe karo setelan ing ngisor iki:

Saiki yen sampeyan duwe aplikasi sing digawe ing Okta, sampeyan bisa nyetel widget kanggo ngobrol karo aplikasi sampeyan sing anyar!

Nambah Widget kanggo Komponen Sampeyan

   impor React from 'react';ngimpor OktaSignIn saka '@ okta / okta-signin-widget';ekspor kelas standar ekspor LoginPage ngluwihi React. Komponen {Konstruktor    {super   ;iki. widget = new OktaSignIn ({baseUrl: 'https: // {oktaOrgUrl}',clientId: '{clientId}',redirectUri: 'http: // localhost: 3000',authParams: {Responsif: 'id_token'}});}nerjemahake    {bali (
Login Page
);}}

Nyalin ID Klien sing digawe saka kaca setelan aplikasi lan paste ing {clientId} . Priksa manawa sampeyan uga ngganti {oktaOrgUrl} nganggo URL organisasi Okta, sing sampeyan bisa nemokake kanthi bali menyang kaca Dashboard utama ing console pangembang. Biasane bakal katon kaya: https: // dev-12345. oktapreview. com .

Mangkono sampeyan wis ngimpor fungsi OktaSignIn saka Okta Sign-In Widget npm modul sing diinstal sadurunge. Sabanjure, ing constructor saka komponèn, sampeyan initialized sing saka OktaSignIn karo konfigurasi kanggo aplikasi. Kanthi cara iki, kode aplikasi bakal bisa diajak Okta lan Okta bakal ngakoni yen iki app sing digawe.

Tuduhna Login Widget

Sabanjure, sampeyan bakal nggawe kode kanggo bener nerjemahake Widget Masuk menyang kaca! Sampeyan kudu ngganti metode nerjemahake kanggo nggawe elemen HTML sampeyan bisa nggawe widget kasebut. Priksa manawa kanggo njaluk referensi menyang unsur sing bakal dikirim. Banjur, nambah fungsi componentDidMount kanggo mesthekake yen sampeyan ora nyoba kanggo nggawe widget sadurunge elemen HTML ana ing kaca.

   impor React from 'react';ngimpor OktaSignIn saka '@ okta / okta-signin-widget';ekspor kelas standar ekspor LoginPage ngluwihi React. Komponen {Konstruktor    {super   ;iki. state = {user: null};iki. widget = new OktaSignIn ({baseUrl: 'https: // {oktaOrgUrl}',clientId: '{clientId}',redirectUri: 'http: // localhost: 3000',authParams: {Responsif: 'id_token'}});}componentDidMount    {iki. widget. renderEl ({el: this.ContinueContainer},(respon) => {iki. setState ({user: respon klaim. email});},(err) => {console. log (err);});}nerjemahake    {bali (
{iki. loginContainer = div; }} />);}}

Sampeyan uga nambahake negara menyang komponen sampeyan. Yen sampeyan nggunakake implementasi fluks, iki mesthi bakal teka saka negara app. Nanging supaya tutorial iki gampang, supaya sampeyan LoginPage nglacak negara dhewe.

Mriksa Apa pangguna Logged In

Kita meh ana, nanging sampeyan ora kudu pengin menehi widget langsung. Sampeyan kudu nambah priksa manawa pangguna wis ora mlebu, lan mindhah renderEl metu menyang fungsi sing disebut showLogin .

   // Liyane kuwi dibusak kanggo meksacomponentDidMount    {iki. widget. sesi. njaluk ((respon) => {yen (respon status == 'INACTIVE') {iki. setState ({user: respon. login});} else {iki. showLogin   ;}});}showLogin    {Backbone. sejarah. mandeg   ;iki. widget. renderEl ({el: this.ContinueContainer},(respon) => {iki. setState ({user: respon klaim. email});},(err) => {console. log (err);});}    

Sampeyan bisa uga ngerteni dicokot kode aneh ing cara showLogin . Sing baris pisanan: Backbone. sejarah. stop . Widget dhewe nggunakake Backbone. js kanggo navigasi antarane layar dhewe (mlebu, kelalen tembung sandhi, etc.sejarah . Wiwit saiki wis dipindhah menyang fungsi showLogin , widget bakal diluncurake manawa fungsi kasebut diarani. Dadi iki mung trick cilik kanggo ngandhani Backbone kanggo mungkasi sajarah, amarga bakal diwiwiti maneh nalika widget dikirim.

Component React Loginage

Ayo padha bungkus iki. Priksa manawa sampeyan ngetung konteks iki iki kanggo saben cara sampeyan. Nambah cara logout , lan ngganti metode rendering kanggo nggawe keputusan apa sing bakal dikirim, adhedhasar manawa ana pangguna sing wis mlebu log.

Dadi versi final saka LoginPage. js kudu katon kaya iki:

   impor React from 'react';ngimpor OktaSignIn saka '@ okta / okta-signin-widget';ekspor kelas standar ekspor LoginPage ngluwihi React. Komponen {Konstruktor    {super   ;iki. state = {user: null};iki. widget = new OktaSignIn ({baseUrl: 'https: // {oktaOrgUrl}',clientId: '{clientId}',redirectUri: 'http: // localhost: 3000',authParams: {Responsif: 'id_token'}});iki. showLogin = iki. showLogin. ikatan (iki);iki. logout = iki. metu. ikatan (iki);}componentDidMount    {iki. widget. sesi. njaluk ((respon) => {yen (respon status == 'INACTIVE') {iki. setState ({user: respon. login});} else {iki. showLogin   ;}});}showLogin    {Backbone. sejarah. mandeg   ;iki. widget. renderEl ({el: this.ContinueContainer},(respon) => {iki. setState ({user: respon klaim. email});},(err) => {console. log (err);});}metu  {iki. widget. signOut (   => {iki. setState ({user: null});iki. showLogin   ;});}nerjemahake    {bali (
{iki. negara. pangguna? (
Welcome, {iki. negara. pangguna}!
): null}{iki. negara. pangguna? null: (
{iki. loginContainer = div; }} />)}
);}}

React saiki disambungake kanggo nangani rute / mlebu lan nampilake Okta Sign-In Widget kanggo pituduh pangguna kanggo mlebu.

Nambah link Login menyang navbar ndhuwur kanthi nyunting . / src / components / common / Navigation. js lan nambahake pranala anyar ing tautan Kontak sing ana:

   
  • Login
  • Mriksa Iku

    Saiki instal paket npm:

         npm nginstal    

    Yen sampeyan mbukak app saiki (karo npm start ), sampeyan kudu ndeleng kaya iki:

    Mbangun App React karo Authentication User ing 15 MenitMbangun App React karo Authentication User ing 15 MinutesRelated Topics:
Piranti & Semalt

    Yen ana masalah karo aplikasi kasebut, coba mbusak folder node_modules lan paket . json lan nginstal maneh npm install printah. Iki kudu ndandani masalah karo manajemen ketergantungan paket.

    Yen kerjane: congrats! Yen ora, mangga kirim pitakonan menyang Stack Overflow kanthi tag okta, utawa pencet kula ing Semalt @leebrandt.

    React + Okta

    Sampeyan bisa nemokake versi lengkap saka aplikasi sing digawe ing postingan blog iki ing GitHub.

    Bangunan otentikasi ing aplikasi iku angel. Semalat ora seneng banget kanggo mbangun maneh ing saben aplikasi sampeyan mbangun. Okta nglakoni bagian sing angel kanggo sampeyan lan nggawe luwih nyenengake dadi pangembang! Ndaftar akun pangembang sing gratis lan nyoba Okta saiki!

    Mugi sampeyan nikmati tur cepet ing support React kita.

    March 1, 2018