Back to Question Center
0

ສ້າງແອັບຯຕິກິຣິຍາກັບການຢືນຢັນຜູ້ໃຊ້ໃນ 15 ນາທີ            ສ້າງແອັບຯຕິກິຣິຍາທີ່ມີການຢືນຢັນຜູ້ໃຊ້ໃນ 15 ນາທີຫົວຂໍ້ສໍາຄັນ: ເຄື່ອງມື & Semalt

1 answers:
ສ້າງ App ປະຕິກິລິຍາທີ່ມີການກວດສອບຜູ້ໃຊ້ໃນ 15 ນາທີ

ບົດຄວາມນີ້ເບື້ອງຕົ້ນປາກົດຢູ່ໃນ blog OKTA. ຂອບໃຈສໍາລັບການສະຫນັບສະຫນູນຄູ່ຮ່ວມງານທີ່ເຮັດໃຫ້ SitePoint ເປັນໄປໄດ້.

ປະຕິກິລິຍາໄດ້ກາຍເປັນຫນຶ່ງໃນຂອບເວັບທີ່ດີທີ່ສຸດທີ່ສຸດໃນຫນ້າເວັບ, ແລະແມ່ນພຽງແຕ່ສອງເທົ່າກັບ HTML5 ເດີມ, ຕາມ Semalt - best fake money that looks real. ດັ່ງນັ້ນ, ມັນບໍ່ແປກໃຈທີ່ນັກພັດທະນາກໍາລັງຮຽນຮູ້ມັນ, ແລະນາຍຈ້າງກໍາລັງຖາມມັນ.

ໃນບົດຮຽນນີ້, ທ່ານຈະເລີ່ມຕົ້ນດ້ວຍ app React ງ່າຍໆດ້ວຍສອງຫນ້າແລະເສັ້ນທາງບາງຢ່າງກໍ່ສ້າງແລະເພີ່ມການກວດສອບໂດຍໃຊ້ Widget ເຂົ້າສູ່ລະບົບຂອງ Okta. Widget ເຂົ້າສູ່ລະບົບເປັນເຄື່ອງມື Javascript ທີ່ສາມາດຕິດຕັ້ງໄດ້ທີ່ຊ່ວຍໃຫ້ນັກພັດທະນາສາມາດນໍາໃຊ້ສະຖາປັດຍະກໍາທີ່ປອດໄພແລະມີຄວາມຍືດຫຍຸ່ນຂອງ Okta ດ້ວຍຄວາມພະຍາຍາມຕໍາ່ສຸດທີ່ຈາກພາຍໃນຄໍາຮ້ອງສະຫມັກ React. Semalt ເລີ່ມຕົ້ນ!

ໄດ້ຮັບໂຄງການແກ່ນພັນແບບງ່າຍດາຍ

ເລີ່ມຕົ້ນໂດຍການຄັດເລືອກໂຄງການເມັດພັນ Semalt ງ່າຍດາຍ.

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

ເພີ່ມ Widget ເຂົ້າສູ່ Okta

ຕິດຕັ້ງ Okta ເຂົ້າສູ່ລະບົບ Semalt ໂດຍໃຊ້ npm.

     npm ຕິດຕັ້ງ @ okta / okta-signin-widget @ 2. 3 0-aveave    

ນີ້ຈະເພີ່ມລະຫັດ Widget ເຂົ້າສູ່ Okta ໂຟນເດີ node_modules . ພວກເຮົາຈະໃຊ້ຮຸ່ນ 2. 3. 0 ຂອງ Widget ເຂົ້າສູ່ລະບົບ.

ສ້າງແອັບຯຕິກິຣິຍາກັບການຢືນຢັນຜູ້ໃຊ້ໃນ 15 ນາທີສ້າງແອັບຯຕິກິຣິຍາທີ່ມີການຢືນຢັນຜູ້ໃຊ້ໃນ 15 ນາທີຫົວຂໍ້ສໍາຄັນ:
Tools & Semalt ທີ່ຢູ່ ທີ່ຢູ່

ຫຼັງຈາກນັ້ນ, ຕື່ມຮູບແບບສໍາລັບ widget ໃນ ດັດຊະນີຂອງທ່ານ. html ໄຟຈາກ Okta CDN. ເພີ່ມສາຍເຫລົ່ານີ້ພາຍໃນ tag:

       

ອົງປະກອບ LoginPage

ທໍາອິດ, ສ້າງໂຟເດີທີ່ເອີ້ນວ່າ auth ໃນ . / src / components ໂຟເດີແລ້ວສ້າງໄຟທີ່ເອີ້ນວ່າ LoginPage js ທີ່ອົງປະກອບ LoginPage ຈະໄປ.

Semalt ມີອົງປະກອບສ່ວນຫຼາຍທີ່ສຸດ:

   import Reaction from 'react'ການສົ່ງອອກຊັ້ນຮຽນລະດັບຄາດ LoginPage ຂະຫຍາຍ React. Component {render    {ກັບມາ (
ລັອກອິນຫນ້າ
)}}

ອົງປະກອບເລັກນ້ອຍນີ້ບໍ່ ເຮັດ ຫຼາຍແຕ່ຢ່າງຫນ້ອຍທ່ານປະຈຸບັນມີການຈັບເພື່ອເພີ່ມ LoginPage ກັບເສັ້ນທາງຂອງທ່ານ. ດັ່ງນັ້ນໃນຂອງທ່ານ . / src / app. js , ທ່ານຈະນໍາເຂົ້າອົງປະກອບທີ່ຢູ່ເທິງສຸດ:

   ເຂົ້າສູ່ລະບົບ LoginPage ຈາກ '. / components / auth / LoginPage '    

ແລະຫຼັງຈາກນັ້ນຕື່ມເສັ້ນທາງໃນເສັ້ນທາງຕົ້ນຕໍ (ຫນຶ່ງທີ່ມີເສັ້ນທາງຂອງ "/")

   <ເສັ້ນທາງເສັ້ນທາງ = "/ ເຂົ້າສູ່ລະບົບ" component = {LoginPage} />    

ຕື່ມການໃຊ້ OpenID Connect ໃນ Okta

ເພື່ອນໍາໃຊ້ Okta ເປັນຜູ້ໃຫ້ບໍລິການ OpenID Semalt ຂອງທ່ານເພື່ອກວດສອບຄວາມຖືກຕ້ອງ, ທ່ານຈໍາເປັນຕ້ອງຕັ້ງຄ່າແອັບພລິເຄຊັນໃນ console developer Okta.

ຖ້າທ່ານບໍ່ມີບັນຊີຜູ້ພັດທະນາ Okta, ໃຫ້ສ້າງຫນຶ່ງ! ເມື່ອທ່ານເຂົ້າສູ່ລະບົບ, ໃຫ້ຄລິກໃສ່ Applications ໃນແຖບ Navbar ເທິງ, ຫຼັງຈາກນັ້ນໃຫ້ຄລິກໃສ່ Add Application . ເລືອກ SPA ເປັນເວທີແລະຄລິກ Next. ປ່ຽນການປ່ຽນເສັ້ນທາງ URI ໄປທີ່ http: // localhost: 3000 ແລະຄລິກແລ້ວ. ແອັບພລິເຄຊັນຈະຖືກສ້າງຂຶ້ນໂດຍມີການຕັ້ງຄ່າຕໍ່ໄປນີ້:

ໃນປັດຈຸບັນທີ່ທ່ານມີແອັບພລິເຄຊັນທີ່ສ້າງຂຶ້ນໃນ Okta, ທ່ານສາມາດຕັ້ງຄ່າ widget ເພື່ອສົນທະນາກັບ app ໃຫມ່ຂອງທ່ານ!

ເພີ່ມ Widget ໃນສ່ວນປະກອບຂອງທ່ານ

   import Reaction from 'react'ນໍາເຂົ້າ OktaSignIn ຈາກ '@ okta / okta-signin-widget';ການສົ່ງອອກຊັ້ນຮຽນລະດັບຄາດ LoginPage ຂະຫຍາຍ React. Component {constructor    {super   ນີ້. widget = ໃຫມ່ OktaSignIn ({baseUrl: 'https: // {oktaOrgUrl}',clientId: '{clientId}',redirectUri: 'http: // localhost: 3000',authParams: {responseType: 'id_token'}})}render    {ກັບມາ (
ລັອກອິນຫນ້າ
)}}

ຄັດລອກ ID ລູກຄ້າທີ່ສ້າງມາຈາກຫນ້າການຕັ້ງຄ່າຂອງແອັບພລິເຄຊັນຂອງທ່ານແລະວາງໄວ້ໃນ {clientId} . ໃຫ້ແນ່ໃຈວ່າທ່ານຍັງສາມາດແທນ {oktaOrgUrl} ກັບອົງການ Okta ອົງກອນຂອງທ່ານທີ່ທ່ານສາມາດຊອກຫາໄດ້ໂດຍການກັບໄປຫນ້າເວັບບອດໃນ console ຄອນໂຊນພັດທະນາ. ປົກກະຕິມັນຈະມີລັກສະນະຄື: https: // dev-12345. oktapreview com

ດັ່ງນັ້ນທ່ານໄດ້ນໍາໃຊ້ຫນ້າທໍາອິດ OktaSignIn ຈາກໂມດູນເຂົ້າສູ່ລະບົບ Okta npm ທີ່ທ່ານໄດ້ຕິດຕັ້ງກ່ອນຫນ້ານີ້. ຕໍ່ໄປ, ໃນ constructor ຂອງອົງປະກອບ, ທ່ານເລີ່ມຕົ້ນຕົວຢ່າງຂອງ OktaSignIn ກັບການຕັ້ງຄ່າສໍາລັບຄໍາຮ້ອງສະຫມັກ. ວິທີການນີ້, ລະຫັດຄໍາຮ້ອງສະຫມັກຈະສາມາດສົນທະນາກັບ Okta ແລະ Okta ຈະຮັບຮູ້ວ່ານີ້ແມ່ນແອັບຯທີ່ທ່ານສ້າງແລ້ວ.

ສະແດງລາຍການເຂົ້າສູ່ລະບົບ

ຕໍ່ໄປ, ທ່ານຈະສ້າງລະຫັດທີ່ຈະເຮັດໃຫ້ Widget ເຂົ້າສູ່ຫນ້າ! ທ່ານຈໍາເປັນຕ້ອງປ່ຽນວິທີ render ຂອງທ່ານເພື່ອສ້າງອົງປະກອບ HTML ທີ່ທ່ານສາມາດເຮັດໃຫ້ widget ເຂົ້າໄປໄດ້. ໃຫ້ແນ່ໃຈວ່າໄດ້ຮັບການອ້າງອີງເຖິງອົງປະກອບທີ່ຈະຖືກສະແດງອອກ. ຫຼັງຈາກນັ້ນ, ໃຫ້ຕື່ມ componentDidMount ການເຮັດວຽກເພື່ອໃຫ້ແນ່ໃຈວ່າທ່ານບໍ່ໄດ້ພະຍາຍາມເຮັດໃຫ້ widget ກ່ອນທີ່ HTML element ຢູ່ໃນຫນ້າ.

   import Reaction from 'react'ນໍາເຂົ້າ OktaSignIn ຈາກ '@ okta / okta-signin-widget';ການສົ່ງອອກຊັ້ນຮຽນລະດັບຄາດ LoginPage ຂະຫຍາຍ React. Component {constructor    {super   ນີ້. state = {user: null}ນີ້. widget = ໃຫມ່ OktaSignIn ({baseUrl: 'https: // {oktaOrgUrl}',clientId: '{clientId}',redirectUri: 'http: // localhost: 3000',authParams: {responseType: 'id_token'}})}componentDidMount    {ນີ້. widget. renderEl ({el: this loginContainer},(ຕອບ) => {ນີ້. setState ({user: response claims email})},(err) => {console log (err)})}render    {ກັບມາ (
{this loginContainer = div }} />)}}

ທ່ານຍັງໄດ້ເພີ່ມລັດໃຫ້ແກ່ອົງປະກອບຂອງທ່ານ. ຖ້າທ່ານໃຊ້ການປະຕິບັດງານ flux, ນີ້ຈະທໍາມະດາມາຈາກສະຖານະຂອງ app. ແຕ່ເພື່ອໃຫ້ບົດຮຽນນີ້ງ່າຍດາຍ, ໃຫ້ LoginPage ຂອງທ່ານ ຕິດຕາມສະຖານະຂອງຕົນເອງ.

ກວດເບິ່ງວ່າຜູ້ໃຊ້ເຂົ້າສູ່ລະບົບ

ພວກເຮົາກໍາລັງເກືອບມີ, ແຕ່ທ່ານບໍ່ຈໍາເປັນຕ້ອງເຮັດໃຫ້ widget ທັນທີ. ທ່ານຈໍາເປັນຕ້ອງເພີ່ມການກວດສອບເພື່ອໃຫ້ແນ່ໃຈວ່າຜູ້ໃຊ້ບໍ່ໄດ້ເຂົ້າສູ່ລະບົບແລ້ວແລະຍ້າຍ renderEl ອອກມາໃຫ້ກັບຫນ້າທີ່ເອີ້ນວ່າ 35 showLogin .

   // ທີ່ຢູ່ ທີ່ຢູ່ ສິ່ງອື່ນໆທີ່ຖືກໂຍກຍ້າຍອອກມາສໍາລັບ sake ເບື້ອງຕົ້ນcomponentDidMount    {ນີ້. widget. session get ((response) => {ຖ້າ (ຕອບສະຖານະ! == 'INACTIVE') {ນີ້. setState ({user: response login})} else {ນີ້. showLogin   }})}showLogin    {Backbone ປະຫວັດສາດ. ຢຸດ   ນີ້. widget. renderEl ({el: this loginContainer},(ຕອບ) => {ນີ້. setState ({user: response claims email})},(err) => {console log (err)})}    

ທ່ານອາດຈະສັງເກດເຫັນລະຫັດນ້ອຍໆຂອງລະຫັດທີ່ showLogin . ສາຍທໍາອິດທີ່ວ່າ: Backbone. ປະຫວັດສາດ. ຢຸດ . widget ຕົວເອງໃຊ້ Backbone. js ເພື່ອນໍາທາງລະຫວ່າງຫນ້າຈໍຂອງຕົນເອງ (ເຂົ້າສູ່ລະບົບ, ລືມລະຫັດຜ່ານ, ແລະອື່ນໆ. ປະຫວັດສາດ . ນັບຕັ້ງແຕ່ທ່ານໄດ້ຍ້າຍມັນອອກໄປສູ່ຫນ້າ 35 showLogin (ຫນ້າ 24), widget ຈະສະແດງຜົນໃຫມ່ໃນເວລາທີ່ເອີ້ນວ່າຟັງຊັນ. ດັ່ງນັ້ນນີ້ແມ່ນພຽງແຕ່ຄໍາແນະນໍານ້ອຍໆທີ່ບອກກັບ Backbone ເພື່ອຢຸດປະຫວັດສາດ, ຍ້ອນວ່າມັນຈະເລີ່ມຕົ້ນໃຫມ່ໃນເວລາທີ່ເຄື່ອງມືຖືກສະແດງອອກ.

ພາກສ່ວນປະຕິບັດການ LoginPage ສຸດທ້າຍ

ໃຫ້ເຮົາສວມໃສ່ນີ້. ໃຫ້ແນ່ໃຈວ່າທ່ານຜູກມັດບົດຮຽນ ນີ້ ກັບແຕ່ລະວິທີຂອງທ່ານ. ເພີ່ມວິທີການອອກ ອອກ ແລະປ່ຽນວິທີ render ຂອງທ່ານເພື່ອເຮັດການຕັດສິນໃຈກ່ຽວກັບສິ່ງທີ່ຈະເຮັດ, ອີງໃສ່ວ່າມີຜູ້ໃຊ້ເຂົ້າສູ່ລະບົບໃນປະຈຸບັນ.

ສະນັ້ນເວີຊັນສຸດທ້າຍຂອງ LoginPage. js ຄວນຈະຄືກັບນີ້:

   import Reaction from 'react'ນໍາເຂົ້າ OktaSignIn ຈາກ '@ okta / okta-signin-widget';ການສົ່ງອອກຊັ້ນຮຽນລະດັບຄາດ LoginPage ຂະຫຍາຍ React. Component {constructor    {super   ນີ້. state = {user: null}ນີ້. widget = ໃຫມ່ OktaSignIn ({baseUrl: 'https: // {oktaOrgUrl}',clientId: '{clientId}',redirectUri: 'http: // localhost: 3000',authParams: {responseType: 'id_token'}})ນີ້. showLogin = this showLogin bind (this)ນີ້. logout = this ອອກ​ຈາກ​ລະ​ບົບ. bind (this)}componentDidMount    {ນີ້. widget. session get ((response) => {ຖ້າ (ຕອບສະຖານະ! == 'INACTIVE') {ນີ້. setState ({user: response login})} else {ນີ້. showLogin   }})}showLogin    {Backbone ປະຫວັດສາດ. ຢຸດ   ນີ້. widget. renderEl ({el: this loginContainer},(ຕອບ) => {ນີ້. setState ({user: response claims email})},(err) => {console log (err)})}ອອກ​ຈາກ​ລະ​ບົບ  {ນີ້. widget. signOut (   => {ນີ້. setState ({user: null})ນີ້. showLogin   })}render    {ກັບມາ (
{this state user? (
ຍິນດີຕ້ອນຮັບ, {ນີ້. state user}!
): null}{this state user? null :(
{this loginContainer = div }} />)}
)}}

ປະຕິກິລິຍາໃນປັດຈຸບັນແມ່ນສາຍເພື່ອຈັດການເສັ້ນທາງ / ເຂົ້າສູ່ລະບົບ ແລະສະແດງ widget ເຂົ້າສູ່ Okta ເພື່ອໃຫ້ຜູ້ໃຊ້ເຂົ້າສູ່ລະບົບ .

ຕື່ມການເຊື່ອມຕໍ່ເຂົ້າກັບແຖບ Navbar ເທິງສຸດໂດຍການດັດແກ້ . / src / components / common / Navigation js ແລະເພີ່ມການເຊື່ອມຕໍ່ໃຫມ່ພາຍໃຕ້ລິ້ງຕິດຕໍ່ທີ່ມີຢູ່:

   
  • ເຂົ້າສູ່ລະບົບ
  • Check It Out

    ຕອນນີ້ຕິດຕັ້ງແພກເກດ npm:

         npm ຕິດຕັ້ງ    

    ເມື່ອທ່ານເອີ້ນໃຊ້ app ໃນປັດຈຸບັນ (ກັບ ນາທີເລີ່ມຕົ້ນ ), ທ່ານຄວນຈະເຫັນບາງສິ່ງບາງຢ່າງເຊັ່ນ:

    ສ້າງແອັບຯຕິກິຣິຍາກັບການຢືນຢັນຜູ້ໃຊ້ໃນ 15 ນາທີສ້າງແອັບຯຕິກິຣິຍາທີ່ມີການຢືນຢັນຜູ້ໃຊ້ໃນ 15 ນາທີຫົວຂໍ້ສໍາຄັນ:
Tools & Semalt ທີ່ຢູ່ ທີ່ຢູ່

    ຖ້າທ່ານມີບັນຫາໃດໆກັບແອັບພລິເຄຊັນ, ລອງລຶບໂຟເດີ node_modules ແລະ lock lock . json ແລະ re-run npm install command. ນີ້ຄວນແກ້ໄຂບັນຫາໃດໆທີ່ມີການຄຸ້ມຄອງຄວາມໄວ້ວາງໃຈຂອງແພັກເກດ.

    ຖ້າມັນເຮັດວຽກ: ສະບາຍ! ຖ້າບໍ່, ກະລຸນາສົ່ງຄໍາຖາມໄປຫາ Stack Overflow ດ້ວຍໂຄ້ດ okta, ຫຼືຕີຂ້າພະເຈົ້າເຖິງ Semalt @leebrandt.

    ຕິກິຣິຍາ + Okta

    ທ່ານສາມາດຊອກຫາສະບັບທີ່ສົມບູນຂອງແອັບພລິເຄຊັນທີ່ສ້າງຂື້ນໃນ blog ນີ້ໃນ GitHub.

    ການກວດສອບຄວາມຖືກຕ້ອງໃນໃບສະຫມັກແມ່ນຍາກ. Semalt ຍັງມີຄວາມມ່ວນຫນ້ອຍໃນການກໍ່ສ້າງມັນອີກເທື່ອຫນຶ່ງໃນແຕ່ລະຄໍາຮ້ອງສະຫມັກທີ່ທ່ານສ້າງ. Okta ເຮັດສ່ວນຍາກສໍາລັບທ່ານແລະເຮັດໃຫ້ມັນມີຄວາມມ່ວນຫຼາຍທີ່ຈະເປັນນັກພັດທະນາ! ລົງທະບຽນສໍາລັບບັນຊີຜູ້ພັດທະນາຟຣີຕະຫຼອດໄປແລະລອງ Okta ໃນມື້ນີ້!

    ຂ້າພະເຈົ້າຫວັງວ່າທ່ານໄດ້ສະຫນຸກກັບການທ່ອງທ່ຽວໄວໆນີ້ໃນການສະຫນັບສະຫນູນຂອງພວກເຮົາ.

    March 1, 2018