Back to Question Center
0

Эхлэл ба хэрэглэгчийн баталгаажуулалтыг эхлүүлэх            Хэрэглэх хүрээ ба хэрэглэгчийн баталгаажуулалт Эхлэх Semalt: ES6AngularJSNode.jsReactnpmMore ...

1 answers:
Эхлэл ба хэрэглэгчийн баталгаажуулалт

Энэ нийтлэлийг анх OKTA Хөгжүүлэгчийн блогт нийтэлсэн байна. SitePoint-ийг үүсгэсэн түншүүддээ талархаж байна.

AngularJS нь JavaScript MVC тогтолцооны хаанаар хэдэн жилийн турш хаанчилсан. Гэсэн хэдий ч Angular баг тэдний дараагийн хувилбарт нийцтэй байдлыг хангахгүй байхыг зарласан үед React and Vue гэх мэт бүтцийн хувьд боломжийг бий болгохын тулд тэдний нийгэмд бага зэрэг хуйвалдаан байсан - virtual private server canada. js нь цэцэглэн хөгжих. Хэдэн жилийн дараа хурдан урагшилж, Angular 2 болон Angular 4 хоёулаа гарсан. Олон хөгжүүлэгчид TypeScript-ийг туршиж үзээд туршлагаа олоход таатай байна. JAXenterenter хэлснээр энэ нь маш сайн ажил хийж байгаа ба React болон HTML5-ийн ард гурав дахь хамгийн алдартай UI тогтолцооны хүчирхэг болсон.

Энэ өгүүлэлд би танд Angular-г эхлүүлэх хурдан арга замыг харуулах болно, мөн Okta-ийн нэвтрэх Таблет ашиглан хэрэглэгчийн баталгаажуулалтыг нэмнэ. Хэрвээ та Angular-тэй танилцаж байгаа бол Миний Нарийвчилсан хичээлийг уншихыг хүсч болно. Хэрэв та энэ өгүүлэлд ашиглагдсан эх кодыг авахыг хүсвэл GitHub дээрээс олж болно.

Okta-тэй хэрэглэгчийн баталгаажуулалт яагаад?

Okta нь API үйлчилгээ үзүүлдэг бөгөөд хэрэглэгчийн бүртгэл, хэрэглэгчийн бүртгэлийн өгөгдлийг үүсгэх, засах, аюулгүй хадгалах, нэг эсвэл олон програмтай холбох боломжийг хөгжүүлэгчдэд олгодог. Бид хэрэглэгчийн бүртгэлийн менежментийг илүү хялбар, найдвартай, өргөтгөх боломжтой болгохын тулд та үйлдвэрлэлээ хурдан эхлүүлэх боломжтой.

Okta Sign-in Widget нь хялбаршуулсан JavaScript-ийн нэвтрэлтийг хэрэгжүүлэх боломжтой. Нэвтрэх Widget нь түрээслэгч бүрийн стандарт Okta нэвтрэх хуудсанд тавигдсан ижил функцийг агуулсан бөгөөд харагдах мэдрэмжийг өөрчлөх уян хатан чанарыг агуулсан байдаг. Виндовс дотор орсон нууц үг шинэчлэх, нууц үгээ мартсан, хүчтэй баталгаажуулалтыг дэмжинэ. Эдгээрийг бүгдийг нь Okta-д тохируулсан бодлогуудаар удирддаг. Semalt нь эдгээр функцийг виджет дотроос үүсгэхийн тулд нэг мөр код бичих шаардлагагүй. Хэрэглээний нүүр царай сайтын хувьд, нийгмийн үйлчилгээ үзүүлэгчид нь виджет дээр дэмжигддэг.

Эхлэлийн хүсэлт гаргах

Angular 4 нь саяхан гарсан бөгөөд өнцгөөс CLI 1. 0. Okta-ийн нэвтрэх програмыг энгийн өнцгөөс хэрхэн ашиглаж болохыг харахын тулд өнцгийн CLI-тай шинэ аппликэйшн үүсгэх. Эхлээд та өнцгийн CLI-ийг суулгах хэрэгтэй болно.

     npm install -g @ angular / cli    

Энэ тушаалыг дуусгахын тулд та шинэ програм үүсгэж болно.

     [mraible: ~] $ ng new angular-okta-exampleangular-okta-example / README-г үүсгэх хэрэгтэй. md (1034 байт)angular-okta-example-г үүсгэх /. angular-cli. json (1255 байт)angular-okta-example-г үүсгэх /. editorconfig (245 байт)angular-okta-example-г үүсгэх /. gitignore (516 байт)angular-okta-example / src / assets / үүсгэнэ. gitkeep (0 байт)/ corner / okta-example / src / орчнууд / орчныг үүсгэх хэрэгтэй. prod. ts (51 байт)/ corner / okta-example / src / орчнууд / орчныг үүсгэх хэрэгтэй. ts (387 байт)src / favicon-ийн өнцөг-okta-жишээ бүтээх. ico (5430 байт)гэгддэг өнцөг-okta-example / src / индекс үүсгэ. html (305 байт)src / main гэсэн өнцгийн-okta-example-г үүсгэх хэрэгтэй. ts (370 байт)saular-okta-example / src / polyfills-г үүсгэх хэрэгтэй. ts (2498 байт)/ corner / okta-example / src / styles-г үүсгэх хэрэгтэй. CSS (80 байт)/ corner / okta-example / src / тест үүсгэнэ. ts (1085 байт)src / tsconfig гэсэн өнцөг-okta-жишээ үүсгэнэ. апп. json (211 байт)src / tsconfig гэсэн өнцөг-okta-жишээ үүсгэнэ. spec. json (304 байт)гэгддэг өнцөг-okta-example / src / typings-г үүсгэх хэрэгтэй. d. ts (104 байт)angular-okta-example / e2e / app-г үүсгээрэй. e2e-spec. ts (302 байт)angular-okta-example / e2e / app-г үүсгээрэй. П. ts (208 байт)angular-okta-example / e2e / tsconfig-г үүсгэх хэрэгтэй. e2e. json (235 байт)өнцгийн-ота-жишээ / карма бий болгох. conf. js (923 байт)angular-okta-example / package үүсгэнэ. json (1325 байт)angular-okta-example / protractor үүсгэнэ. conf. json (363 байт)angular-okta-example / tslint үүсгэнэ. json (2968 байт)/ өнцөг-okta-example / src / app / app-г үүсгэх хэрэгтэй. модуль. ts (314 байт)/ өнцөг-okta-example / src / app / app-г үүсгэх хэрэгтэй. бүрэлдэхүүн хэсэг. css (0 байт)/ өнцөг-okta-example / src / app / app-г үүсгэх хэрэгтэй. бүрэлдэхүүн хэсэг. html (1120 байт)/ өнцөг-okta-example / src / app / app-г үүсгэх хэрэгтэй. бүрэлдэхүүн хэсэг. spec. ts (986 байт)/ өнцөг-okta-example / src / app / app-г үүсгэх хэрэгтэй. бүрэлдэхүүн хэсэг. ts (207 байт)`Set set - global packageManager = утас`. Багц суулгах npm програмаар багц суулгах. Npm дээр багаж хэрэгслийг суулгах. Амжилттай эхлүүлсэн. Төслийн "өнцөг-окта-жишээ" амжилттай үүссэн. [мэдрэмжтэй: ~] 2m6s $    

Энэ нь шинэ өнцгөөс-okta-жишээ директорыг үүсгэж шаардлагатай бүх хамаарлуудыг суулгах болно. Бүх зүйл ажиллана гэвэл e2e -ийг терминалын цонхонд ажиллуулна . Бүх сорилтууд өнгөрөх бөгөөд дараах үр дүнг харах ёстой.

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

Октаг дахь өнцөгтийн Widget-г нэгтгэх

Одоо бид Okta-ийн нэвтрэх семальыг хялбархан өөрчлөх боломжтой харагдацаар харах болно. Эхлүүлэхийн тулд Okta Sign-Semalt-г npm ашиглан суулгана уу.

     npm install --save @ okta / okta-signin-widget-г суулгах хэрэгтэй    

Удирдлагын CSS-д src / стилийг нэмэх. css :

     @import '~ https: // ok1static. oktacdn. com / assets / js / sdk / okta-signin-widget / 2. 1. 0 / css / okta-sign-in. мин. css ';@import '~ https: // ok1static. oktacdn. com / assets / js / sdk / okta-signin-widget / 2. 1. 0 / css / okta-сэдэв. css ';    

үүсгэх src / app / shared / okta / okta. үйлчилгээ. ts ашиглан виджетуудын тохиргоог боож тарьдаг үйлчилгээг хийнэ үү.

     import {Тарж болох} '@ өнцгийн / гол';импортлохын тулд '@ okta / okta-signin-widget / dist / js / okta-sign-in-с OktaSignIn-ээр импорт хийх боломжтой. мин. js ';@Injectable   экспортын анги Okta {виджет;constructor    {энэ нь. widget = new OktaSignIn ({baseUrl: 'https: // {yourOktaDomain}. com ',clientId: '{clientId}',redirectUri: 'http: // localhost: 4200'});}getWidget    {үүнийг буцааж өгнө үү. виджет;}}    

Энэхүү үйлчилгээ нь аппликешн дэх бүх бүрэлдэхүүн хэсгүүдийг ашиглах боломжтой болгохын тулд програмыг өөрчлөх. модуль. ts болон жагсаалт Okta зэрэг үйлчилгээ үзүүлэгчид.

     импортоор {Okta} '. / хуваалцсан / okta / okta. үйлчилгээ ';@NgModule ({.үйлчилгээ үзүүлэгчид: [Okta],bootstrap: [AppComponent]})    

Энэ ажил эхлэхээсээ өмнө та OpenOff Connect (OIDC) програмыг Okta дээр үүсгэх хэрэгтэй бөгөөд ингэснээр {yourOktaDomain} болон {clientId} виджет.

Okta

дээр OpenID Connect App үүсгэх

OpenID Connect нь Semalt 2. 0 протокол дээр байрлана. Энэ нь хэрэглэгчид хэн болохыг тодорхойлох, түүнчлэн үндсэн профайлын мэдээллийг олж авах боломж олгодог. Илүү ихийг мэдэхийн тулд http: // openid. цэвэр / холболт.

Хэрэв та өөрийн Okta дансанд нэвтрэн орж, эсвэл нэг байхгүй бол үүсгээрэй. Програм руу залуурч дээр дарж Нэмэлт хэрэгсэл товчийг дарна уу. Сонгох ДЦГ ба дарж Next . Дараагийн хуудсанд http: // localhost: 4200 гэж Base URI, Login redirect URI, болон Logout redirect URI гэсэн зааврыг зааж өгнө. Дарна уу Done ба доорх шиг тохиргоог харах хэрэгтэй.

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

Нэвтрэх Widget харуулах

Эдгээр өөрчлөлтүүдийг хийснийхээ дараа өөрийн Client ID болон Платформ ID okta руу хуул. үйлчилгээ. ts . Дараа нь програмыг өөрчлөх . бүрэлдэхүүн хэсэг. ts ашиглан Okta үйлчилгээ болон вебийн веб хөтөч ашиглан нэвтрэн орох / гарах.

     '@ angular / core' тэмдгийг импортлох {Component, OnInit};import {Okta} '. / хуваалцсан / okta / okta. үйлчилгээ ';@ Хамтрагч ({Сонголтынх: 'app-root',загварUrl: '. / апп. бүрэлдэхүүн хэсэг. html ',styleUrls: ['. / апп. бүрэлдэхүүн хэсэг. css ']})экспортын анги OnInit {title = 'app works!';хэрэглэгч;oktaSignIn;байгуулагч (хувийн okta: Okta) {энэ нь. oktaSignIn = okta. getWidget   ;}showLogin    {энэ нь. renderEl ({el: '# okta-login-container}}, (хариулт) => {хэрэв (хариу статус === 'SUCCESS') {энэ нь. хэрэглэгч = хариулт. нэхэмжлэл. и-мэйл;}});}ngOnInit    {энэ нь. oktaSignIn. сесс. авах (хариулт) => {(хариулт статус! == 'INACTIVE') {энэ нь. хэрэглэгч = хариулт. нэвтрэх} else {энэ нь. showLogin   ;}});}гарах   {энэ нь. oktaSignIn. signOut (   => {энэ нь. showLogin   ;энэ нь. хэрэглэгч = тодорхойгүй;});}}    

програмыг өөрчлөх . бүрэлдэхүүн хэсэг. html

id = "okta-login-container" ба хэрэглэгчийн имэйлд нэвтэрсэн газрыг харуулах газар.

   
Сайн байна уу {{хэрэглэгчийн}}<товч (дарж) = "logout "> Гарах хуудас

Run ng serve , браузераа нээж http: // localhost: 4200. Та нэвтрэх горимыг харах ёстой. Нэг
-г оруулна уу Таны хэрэглэгчийн итгэмжлэлийг нэвтрэх Та "Hello {email}" зурвасыг гарах товчлуурыг харна уу.

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

ТАЙЛБАР: Та нэвтэрч байгаа үйл явцтай холбоотой асуудал гардаг. Хөтөч цонхны аль нэг хэсгийг дарж энэ асуудлыг шийдэж байгаа юм шиг байна. Яагаад ингэж явдгийг би сайн мэдэхгүй байна. Та энэ асуудлыг эндээс харж болно.

Хэрэв энэ ажил бол - баяр хүргэе! Хэрвээ тийм биш бол, Stack Overflow гэсэн асуултыг ota tag-т тавиад эсвэл Twitter дээр дараарай.

Widget CSS тохируулах

Хэрэв та виджетийн CSS-г өөрчлөхийг хүсвэл хамгийн хялбар арга бол өөрийн CSS-г бичдэг. Src (стиль) дээр нэмсэн @import тайлбарын утгыг хас. css . Ачаалагч элементүүдийн @import bootloader 4 болон хэд хэдэн загварын дүрмүүдийг нэмээрэй. Дараах кодыг src / стильд хуулах. css .

     @import url (https: // maxcdn bootstrapcdn com / bootstrap / 4.0.0-beta / css / bootstrap min css);# okta-login-container {margin: 0 auto;хамгийн өргөн: 400px;border: 1px хатуу мөнгө;padding: 20px;хайрцаг-сүүдэр: 5px 5px 5px 0 мөнгө;}# okta-login-container оролт {margin-bottom: 5px;өргөн: 100%;padding: 5px;}# okta-login-container оролт [type = checkbox] {өргөн: 25px;}    

Эдгээр өөрчлөлтүүдийг хийдэг семаль, нэвтрэх цонхны виджет нь дараах дэлгэцийн дүрстэй адил болно.

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

Өөрийн шалгалтыг засах

Хэрэв та npm test эсвэл ng test тушаалыг ажиллуулахыг оролдвол тестүүд амжилтгүй болох болно:

     Chrome 61. 0. 3163 (Mac OS X 10. 12. 6): 3-ийн 3-ыг (3 FAILED) (0 secs / 0. 157 secs)Chrome 61. 0. 3163 (Mac OS X 10. 12. 6) AppComponent нь H1 tag-д гарчигийг өгөх ёстой FAILEDУнтраа: Okta-д үйлчилгээ үзүүлэгч байхгүй!    

Үүнийг засахын тулд Okta -ийг src / апп / апп-оор зааж өгөх хэрэгтэй. бүрэлдэхүүн хэсэг. spec. ts .

     импортоор {Okta} '. / хуваалцсан / okta / okta. үйлчилгээ ';('AppComponent',    => {beforeEach (async (   => {TestBed. configureTestingModule ({мэдэгдэл: [AppComponent],үйлчилгээ үзүүлэгчид: [Okta]}). compileComponents   ;}));    

Энэ өөрчлөлтийг хийснээр та амжилтанд хүрэх сайхан үнэрийг харах хэрэгтэй.

     Chrome 61. 0. 3163 (Mac OS X 10. 12. 6): 3-ийн 3-ийн SUCCESS (0. 77 secs / 0. 759 secs)    

Туршилтын туршилтууд хэвээр байх ёстой. Та e2e -ийг терминалын цонхонд тушаалыг ажиллуулж үүнийг баталж чадна.

Angular + Okta

Та энэ блогтоо үүсгэсэн аппликешны бүрэн хувилбарыг GitHub дээрээс олж болно. Ирээдүйн шуудан дээр би нэвтрэх хэлбэрээр HTML-г хянахын тулд илүү их Semalt-ийн туршлага бий болгох талаар танд үзүүлэх болно.

Аппликешн дэх нууцлалыг баталгаажуулах нь хэцүү байдаг. Өгөөж буй аппликешн бүрт дахин дахин сэргээхэд хөгжилтэй байдаг. Окта танд хүнд хэцүү хэсгийг хийж, хөгжүүлэгч болоход илүү хөгжилтэй болгодог! Үүрд ​​чөлөөт хөгжөөгүй хөгжүүлэгчийн бүртгэлээр бүртгүүлж, Okta-г одоо оролдоорой!. Хэрэв та Okta-ийн онцлог шинж, эсвэл бидний барьж байгаа зүйлтэй холбоотой асуулт байгаа бол Twitter дээр надад цохилт өгнө үү, Stack Overflow-д "okta" гэсэн шошго тавьсан эсвэл GitHub дээр шинэ асуудал нээх болно.

March 1, 2018