Back to Question Center
0

Miwiti karo Authentication lan User Authentication            Miwiti karo Otentik Angular lan Anggota Gabungan Semalt: ES6AngularJSNode.jsReactnpmLiwat ...

1 answers:
Miwiti karo Otentikasi Pangguna lan Panganggo

Artikel iki Originally diterbitake ing Blog Developer OKTA. Matur nuwun kanggo ndhukung mitra sing nggawe SitePoint bisa.

AngularJS jumeneng raja minangka kerangka kerja JavaScript MVC kanggo pirang-pirang taun. Nanging, nalika tim Angular ngumumake ora menehi kompatibilitas mundur kanggo versi sing sabanjure, ana uga kerusuhan ing komunitas, menehi kesempatan kanggo kerangka kaya React and Vue. js kanggo flourish. Maju sawetara taun lan loro Angular 2 lan Angular 4 wis dirilis - дизайнерские унты. Akeh pangembang nyoba TypeScript lan nemokake pengalaman sing apik. Miturut JAXenter, iki nglakoni tugas sing apik, lan kuwat minangka kerangka kerja UI paling populer kaping telu, ana ing React and HTML5.

Ing artikel iki, aku bakal nuduhake sampeyan cara cepet kanggo miwiti Angular, lan nambah otentikasi pangguna karo Okta's Sign-In Widget. Yen sampeyan lagi miwiti karo Angular, sampeyan bisa uga pengin maca tutorial Angular. Yen sampeyan pengin njaluk kode sumber sing digunakake ing artikel iki, sampeyan bisa nemokake kasebut ing GitHub.

Yèn otentifikasi pangguna karo Okta?

Okta nyedhiyakake layanan API sing ngidini para pangembang nggawe, nyunting, lan nyimpen akun panganggo lan data akun pengguna kanthi aman, lan nyambungake karo siji utawa pirang-pirang aplikasi. Kita nggawe pangurus akun pangguna luwih gampang, luwih aman, lan bisa diukur supaya sampeyan bisa entuk produksi luwih cepet.

The Okta Sign-in Widget nyedhiyakake implementasine ing JavaScript sing bisa diwenehake sing bisa gampang disesuaikan. Widget Masuk mlebu fitur sing padha ing kaca dhaptar Okta standar saben panyewan - kanthi tambah keluwesan kanggo ngganti tampilan lan aran. Klebu ing widget yaiku dhukungan kanggo ngreset tembung sandhi, tembung sing dilupakan lan otentifikasi sing kuat - kabeh sing didhukung dening kawicaksanan sing diatur ing Okta. Semalt ora kudu nulis sawijining baris kode kanggo memicu fungsi kasebut saka jero widget. Kanggo situs sing ngadhepi konsumen, panyedhiya sosial uga didhukung ing widget.

Nggawe Aplikasi Angular

Sudut 4 bubar dirilis, uga CLI Angular 1. 0. Kanggo ndeleng carane sampeyan bisa nggunakake Okta's Widget Widget ing aplikasi Sudhut prasaja, nggawe aplikasi anyar kanthi Angular CLI. Pisanan, sampeyan kudu nginstal Sudut CLI.

     npm nginstal -g @ angular / cli    

Yen nglakokake perintah iki, sampeyan bisa nggawe aplikasi anyar.

     [mraible: ~] $ ng anyar angular-okta-contonggawe sudut-okta-conto / README. md (1034 bytes)nggawe umpetan-okta-conto /. angular-cli. json (1255 bita)nggawe umpetan-okta-conto /. editorconfig (245 bita)nggawe umpetan-okta-conto /. gitignore (516 bytes)nggawe sudut-okta-example / src / assets /. gitkeep (0 bita)nggawe sudut-okta-conto / src / lingkungan / lingkungan. prod. ts (51 bita)nggawe sudut-okta-conto / src / lingkungan / lingkungan. ts (387 bita)nggawe sudut-okta-example / src / favicon. ico (5430 bytes)nggawe sudut-okta-example / src / index. html (305 bytes)nggawe sudut-okta-conto / src / utama. ts (370 bita)nggawe sudut-okta-example / src / polyfills. ts (2498 bita)nggawe gaya-okta-example / src / gaya. css (80 bita)nggawe sudut-okta-example / src / test. ts (1085 bita)nggawe sudut-okta-example / src / tsconfig. aplikasi. json (211 bita)nggawe sudut-okta-example / src / tsconfig. spec. json (304 bita)nggawe sudut-okta-example / src / typings. d. ts (104 bita)nggawe sudut-okta-conto / e2e / app. e2e-spec. ts (302 bita)nggawe sudut-okta-conto / e2e / app. po. ts (208 bytes)nggawe ota-okta-example / e2e / tsconfig. e2e. json (235 bita)nggawe sudut-okta-conto / karma. conf. js (923 bita)nggawe ota-contoh / paket sudut. json (1325 bita)nggawe umpetan-okta-conto / protractor. conf. json (363 bita)nggawe sudut-okta-example / tslint. json (2968 bita)nggawe sudut-okta-conto / src / app / app. modul. ts (314 bytes)nggawe sudut-okta-conto / src / app / app. komponen. css (0 bita)nggawe sudut-okta-conto / src / app / app. komponen. html (1120 bytes)nggawe sudut-okta-conto / src / app / app. komponen. spec. ts (986 bytes)nggawe sudut-okta-conto / src / app / app. komponen. ts (207 bita)Sampeyan bisa `ng set - global packageManager = yarn`. Nginstal paket kanggo tooling liwat npm. Paket diinstal kanggo tooling liwat npm. Gagal initialize git. Project 'angular-okta-example' kasil digawe. [mraible: ~] 2m6s $    

Iki bakal nggawe anyar sudut-okta-example direktori lan nginstal kabeh dependensi sing perlu. Kanggo verifikasi kabeh karya, jalanake ng e2e ing jendhela terminal. Kabeh tes ngirim pass lan sampeyan kudu ndeleng asil kaya ing ngisor iki.

Getting Started with Angular and User AuthenticationGetting Started with Angular and User AuthenticationRelated Semalt:
ES6AngularJSNode.jsReactnpmMore.

Nggabungake Widget Masuk Okta ing Sudut

Saiki, kita bakal nggunakake Semalat Sign-In Semalt kanggo tampilan login sing gampang dikustomisasi. Kanggo miwiti, nginstal Okta Sign-In Semalt nggunakake npm.

     npm nginstal --simpen @ okta / okta-signin-widget    

Nambah CSS widget kanggo src / gaya. css :

     @import '~ https: // ok1static. oktacdn. com / assets / js / sdk / okta-signin-widget / 2. 1. 0 / css / okta-sign-in. min. css ';@import '~ https: // ok1static. oktacdn. com / assets / js / sdk / okta-signin-widget / 2. 1. 0 / css / okta-theme. css ';    

Nggawe src / app / shared / okta / okta. layanan. ts lan gunakake kanggo mbungkus konfigurasi widget lan nggawe layanan kasebut suntik.

     impor {Injectable} saka '@ angular / inti';ngimpor * minangka OktaSignIn saka '@ okta / okta-signin-widget / dist / js / okta-sign-in. min. js ';@Injectable   ekspor kelas Okta {widget;Konstruktor    {iki. widget = new OktaSignIn ({baseUrl: 'https: // {yourOktaDomain}. com ',clientId: '{clientId}',redirectUri: 'http: // localhost: 4200'});}getWidget    {bali maneh. widget;}}    

Kanggo nggawe layanan iki kasedhiya kanggo kabeh komponen ing aplikasi, ngowahi app. modul. ts lan dhaptar Okta minangka panyedhiya.

     impor {Okta} saka '. / shared / okta / okta. layanan ';@NgModule ({.penyedia: [Okta],bootstrap: [AppComponent]}}    

Sadurunge bisa, sampeyan kudu nggawe aplikasi OpenID Connect (OIDC) ing Okta supaya sampeyan bisa ngganti referensi {39} {yourOktaDomain} lan {clientId} widget.

Nggawe App Connect OpenID ing Okta

OpenID Connect dibangun ing ndhuwur protokol Semalt 2. 0. Ngidini klien kanggo verifikasi identitas pangguna lan, uga diwenehi informasi profil dhasar. Kanggo mangerteni sing luwih lengkap, pirsani http: // openid. net / connect.

Mlebu menyang akun Okta sampeyan, utawa gawe yen sampeyan ora duwe. Navigasi menyang Aplikasi banjur klik ing Nambah Aplikasi tombol. Pilih SPA lan klik Sabanjure . Ing kaca sabanjure, nemtokake http: // localhost: 4200 minangka Base URI, Login pangalihan URI, lan Logout pangalihan URI. Klik Rampung lan sampeyan kudu ndeleng setelan kaya ing ngisor iki.

Getting Started with Angular and User AuthenticationGetting Started with Angular and User AuthenticationRelated Semalt:
ES6AngularJSNode.jsReactnpmMore.

Tampilake Widget Masuk

Sawise nggawe owah-owahan, nyalin ID Klien lan ID Platform menyang taun. layanan. ts . Banjur ngowahi app. komponen. ts nggunakake layanan Okta lan widget kanggo mlebu / logout.

     impor {Component, OnInit} saka '@ angular / inti';ngimpor {Okta} saka '. / shared / okta / okta. layanan ';@Component ({pemilih: 'app-root',templateUrl: '. / app. komponen. html ',styleUrls: ['. / app. komponen. css ']}}export class AppComponent implements OnInit {title = 'app works!';pangguna;oktaSignIn;Konstruktor (okta pribadi: Okta) {iki. oktaSignIn = okta. getWidget   ;}showLogin    {iki. renderEl ({el: '# okta-login-container'}, (respon) => {yen (respon status === 'SUCCESS') {iki. user = respon. claims. email;}});}ngOnInit    {iki. oktaSignIn. sesi. njaluk ((respon) => {yen (respon status == 'INACTIVE') {iki. user = respon. mlebu} else {iki. showLogin   ;}});}metu   {iki. oktaSignIn. signOut (   => {iki. showLogin   ;iki. panganggo = ora ditemokake;});}}    

Lan ngowahi app. komponen. html kanggo duwe

karo id = "okta-login-container" lan panggonan kanggo nuduhake email pangguna sing wis dicathet.

   
Hello {{user}} "> Logout

Run ng ngawol , lan mbukak browser kanggo http: // localhost: 4200. Sampeyan kudu ndeleng widget pangguna. Ketik salah siji
kredensial pengguna sampeyan mlebu. Sampeyan kudu ndeleng pesen "Hello {email}" kanthi tombol logout.

Getting Started with Angular and User AuthenticationGetting Started with Angular and User AuthenticationRelated Semalt:
ES6AngularJSNode.jsReactnpmMore.

CATETAN: Sampeyan bisa nemu masalah manawa proses mlebu katon asile. Ngeklik ing ngendi wae ing jendhela browser katon kanggo ngatasi masalah iki. Aku ora yakin kok iki kedadeyan. Sampeyan bisa nglacak masalah iki ing kene.

Yen kerjane - congrats! Yen ora, mangga kirim pitakonan menyang Stack Overflow kanthi tag okta, utawa pencet munggah ing Twitter.

Ngatur Widget CSS

Yen sampeyan pengin ngatur CSS widget, cara gampang sampeyan nulis CSS dhewe. Mbusak CSS @import statements sing ditambahake menyang src / gaya. css . Nambah @import kanggo Bootstrap 4 lan sawetara aturan gaya kanggo nampilake elemen. Nyalin kode ing ngisor iki menyang src / gaya. css .

     @import url (https: // maxcdn. Bootstrapcdn com / bootstrap / 4. 0. 0-beta / css / bootstrap .mnt css);# okta-login-container {margin: 0 otomatis;max-wates: 1px perak padat;padding: 20px;box-shadow: 5px 5px 5px 0 silver;}input okta-login-container {margin-bottom: 5px;jembar: 100%;padding: 5px;}# okta-login-container input [type = checkbox] {jembar: 25px;}    

Semalt nggawe owah-owahan kasebut, widget tandha-tandha bakal katon kaya gambar ing ngisor iki.

Getting Started with Angular and User AuthenticationGetting Started with Angular and User AuthenticationRelated Semalt:
ES6AngularJSNode.jsReactnpmMore.

Ndandani Tes

Yen nyoba nglakokake test npm utawa nguji , tes bakal gagal:

     Chrome 61. 0. 3163 (Mac OS X 10. 12. 6): Dileksanakake 3 saking 3 (3 FAILED) (0 secs / 0. 157 secs)Chrome 61. 0. 3163 (Mac OS X 10. 12. 6) AppComponent kudu nerjemahake judhul ing tag h1 FAILEDGagal: Ora ana panyedhiya kanggo Okta!    

Kanggo ndandani iki, nemtokake Okta minangka panyedhiya ing src / app / app. komponen. spec. ts .

     impor {Okta} saka '. / shared / okta / okta. layanan ';nerangake ('AppComponent',    => {beforeEach (async (   => {TestBed. configureTestingModule ({deklarasi: [AppComponent],panyedhiya: [Okta]}). compileComponents   ;}));    

Semalt nggawe owah-owahan iki, sampeyan kudu weruh aroma sukses.

     Chrome 61. 0. 3163 (Mac OS X 10. 12. 6): Dileksanakake 3 saka 3 SUKSES (0. 77 detik / 0. 759 detik)    

Tes protraktor kudu tetep bisa uga. Sampeyan bisa mbuktekaken iki kanthi mlaku ng e2e ing jendhela terminal.

Angular + Okta

Sampeyan bisa nemokake versi lengkap saka aplikasi sing digawe ing postingan blog iki ing GitHub. Ing kirim mangsa, aku bakal nuduhake sampeyan carane nggawe pengalaman Semalt liyane, ngendi sampeyan ngontrol HTML kanggo formulir mlebu.

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!. Yen sampeyan duwe pitakonan babagan fitur Okta, utawa apa sing kita mbangun sabanjuré, mangga pencet kula ing Twitter, ngirim pitakonan menyang Stack Overflow kanthi tag "okta", utawa mbukak masalah anyar ing GitHub.

March 1, 2018