Back to Question Center
0

یک برنامه React با تأیید هویت کاربر در 15 دقیقه ایجاد کنید            ساخت یک برنامه React با تایید هویت کاربر در 15 دقیقه موضوعات مرتبط: ابزار & ؛ Semalt ...

1 answers:
ساخت یک برنامه React با تایید کاربر در 15 دقیقه

این مقاله در ابتدا در وبلاگ OKTA ظاهر شد. با تشکر از شما برای حمایت از شرکای ایجاد SitePoint امکان پذیر است.

به گفته Semalt، واکنش سریع به یکی از فاکتورهای مورد علاقه در فضای وب تبدیل شده است و تنها به HTML5 قدیمی ساده تبدیل شده است. پس تعجبی ندارد که توسعه دهندگان آن را یاد بگیرند و کارفرمایان از آن درخواست می کنند.

در این آموزش، شما با یک برنامه React ساده ساده با چند صفحه و برخی از مسیریابی ساخته شده و با احراز هویت با استفاده از ویجت ورود به سیستم Okta شروع خواهید کرد. ویجت ورود به سیستم یک ویجت Javascript قابل جاسازی است که به توسعه دهندگان اجازه می دهد از معماری ایمن و مقیاس پذیر Okta با حداقل تلاش در داخل برنامه های React استفاده کند - computer repair services san mateo. Semalt شروع به کار کرد

پروژه ساده واکنش دانه

با کلون کردن پروژه ساده Semalo شروع کنید.

     کلاه گیت https: // github. com / leebrandt / simple-react-seed. git okta-reac-widget-samplecd okta-react-widget-sample    

اضافه کردن ویجت Okta ورود به سیستم

وارد کردن Oketa ورود به سیستم Semalt با استفاده از npm را نصب کنید.

     npm install @ okta / okta-signin-widget @ 2. 3. 0 - ذخیره    

این کد عددی Okta Sign-In Widget را به پوشه node_modules شما اضافه می کند. ما از نسخه 2 استفاده می کنیم. 0 0 از ویجت ورود به سیستم.

یک برنامه React با تأیید هویت کاربر در 15 دقیقه ایجاد کنیدساخت یک برنامه React با تایید هویت کاربر در 15 دقیقه موضوعات مرتبط:
ابزار و Semalt

سپس سبک های ویجت را در فهرست اضافه کنید. فایل html از CDN Okta. این خطوط را در داخل برچسب اضافه کنید:

   <لینکhref = "https: // ok1static. oktacdn. com / assets / js / sdk / okta-signin-widget / 2. 3. 0 / css / okta-sign-in. min. css"type = "text / css"rel = "stylesheet" />    

Component LoginPage

اول، یک پوشه به نام auth را در ایجاد کنید. / src / components ، سپس یک فایل به نام LoginPage ایجاد کنید. js که در آن Component LoginPage خواهد رفت.

Semalt با اساسی ترین اجزاء:

   واردات واکنش از واکنش؛صادرات پیش فرض کلاس LoginPage گسترش واکنش نشان می دهد. مولفه{رندر    {برگشت(
صفحه ورود
)؛}}

این کامپوننت کوچک خیلی زیاد نیست، اما حداقل شما اکنون یک دسته برای اضافه کردن LoginPage به مسیریابی خود دارید. بنابراین در خود . / src / app js فایل، مولفه را در بالا وارد کنید:

   ImportPage from 'import. / components / auth / LoginPage '؛    

و سپس مسیر را داخل مسیر اصلی اضافه کنید (یکی با مسیر "/")

       

اضافه کردن برنامه OpenID اتصال در Okta

برای استفاده از Okta به عنوان ارائه کننده OpenID Semalt برای احراز هویت، باید یک برنامه را در کنسول توسعه دهنده Okta تنظیم کنید.

اگر حساب کاربری توسعه دهنده Okta نداشته باشید، یک ایجاد کنید! هنگامی که وارد سیستم شوید، روی برنامه ها در بالای نوار بالای صفحه کلیک کنید، سپس روی افزودن برنامه کلیک کنید. SPA به عنوان پلت فرم را انتخاب کنید و روی Next کلیک کنید. تغییر مسیر URI را به http: // localhost: 3000 تغییر دهید و روی Done کلیک کنید. برنامه با تنظیمات زیر ایجاد خواهد شد:

اکنون که شما یک برنامه ایجاد شده در Okta دارید، می توانید ویجت را برای گفتگو با برنامه جدید خود تنظیم کنید!

ویجت را به کامپوننت خود اضافه کنید

   واردات واکنش از واکنش؛وارد کردن OktaSignIn از '@ okta / okta-signin-widget'؛صادرات پیش فرض کلاس LoginPage گسترش واکنش نشان می دهد. مولفه{سازنده    {فوق العاده   ؛این. ویجت = جدید OktaSignIn ({baseUrl: 'https: // {oktaOrgUrl}'،clientId: '{clientId}'redirectUri: 'http: // localhost: 3000'،authParams: {responseType: 'id_token'}})؛}رندر    {برگشت(
صفحه ورود
)؛}}

شناسه مشتری را که از صفحه تنظیمات برنامه شما ایجاد شده است کپی کنید {clientId} . اطمینان حاصل کنید که شما نیز {oktaOrgUrl} را با آدرس سازمان Okta خود جایگزین کنید، که میتوانید با رفتن به صفحه داشبورد اصلی در کنسول برنامهنویس پیدا کنید. معمولا به نظر می رسد: https: // dev-12345. oktapreview com .

تا کنون شما OktaSignIn را وارد کردید از ماژول Okta Sign-In Widget npm که قبلا نصب کرده اید. بعد، در سازنده مولفه، یک نمونه از OktaSignIn را با پیکربندی برای برنامه راه اندازی کردیم. به این ترتیب، کد برنامه قادر خواهد بود با Okta صحبت کنند و Okta متوجه خواهد شد که این برنامه شما را ایجاد کرده است.

نمایش ویج ورود

بعد، شما کد ایجاد کنید تا ویجت ورود به سیستم را به صفحه تبدیل کنید! شما باید روش رندر خود را تغییر دهید تا یک عنصر HTML ایجاد کنید که می توانید ویجت را رندر کنید. اطمینان حاصل کنید که یک اشاره گر به عنصر که رندر می شود را دریافت کنید. سپس، یک تابع componentDidMount اضافه کنید تا مطمئن شوید که ویجت را قبل از عنصر HTML در صفحه سعی نکنید.

   واردات واکنش از واکنش؛وارد کردن OktaSignIn از '@ okta / okta-signin-widget'؛صادرات پیش فرض کلاس LoginPage گسترش واکنش نشان می دهد. مولفه{سازنده    {فوق العاده   ؛این. state = {کاربر: null}؛این. ویجت = جدید OktaSignIn ({baseUrl: 'https: // {oktaOrgUrl}'،clientId: '{clientId}'redirectUri: 'http: // localhost: 3000'،authParams: {responseType: 'id_token'}})؛}componentDidMount    {این. ویجت renderEl ({el: این. loginContainer}، {(پاسخ) => {این. setState ({کاربر: پاسخ. ادعا. ایمیل})؛}،(err) => {کنسول. ورود (اشتباه)؛})؛}رندر    {برگشت(
{این. loginContainer = div؛ }} />)؛}}

شما همچنین دولت را به جزء خود اضافه کردید. اگر از یک پیاده سازی شارژ استفاده می کنید، این به طور طبیعی از حالت برنامه آمده است. اما برای حفظ این آموزش ساده، اجازه دهید LoginPage از کشور خود پیگیری کند.

بررسی اینکه آیا کاربر وارد سیستم شده

ما تقریبا وجود دارد، اما شما لزوما می خواهید ویجت را مجددا ارائه دهید. شما باید یک چک کنید تا اطمینان حاصل شود که کاربر قبلا وارد نشده است و renderEl را به یک تابع به نام showLogin حرکت دهید.

   // چیزهای دیگر به خاطر کوتاهی حذف شده اندcomponentDidMount    {این. ویجت جلسه دریافت ((پاسخ) => {اگر (پاسخ وضعیت! == 'غیر فعال') {این. setState ({کاربر: پاسخ. login})؛} else {این. showLogin   ؛}})؛}showLogin    {ستون فقرات تاریخ. متوقف کردن  ؛این. ویجت renderEl ({el: این. loginContainer}، {(پاسخ) => {این. setState ({کاربر: پاسخ. ادعا. ایمیل})؛}،(err) => {کنسول. ورود (اشتباه)؛})؛}    

شما ممکن است یک بیت عجیب و غریب را در آن showLogin متوجه شوید. این خط اول: ستون فقرات. تاریخ. توقف . این ویجت از Backbone استفاده می کند. js به حرکت بین صفحه نمایش خود (ورود به سیستم، فراموش رمز عبور، و غیره. تاریخ . از آنجایی که شما در حال حاضر آن را به عملکرد showLogin منتقل کرده اید، ویجت هر بار که تابع نامیده می شود، مجددا ارائه می شود. بنابراین این فقط یک ترفند کوچک است که به Backbone برای متوقف کردن تاریخ بپردازد، زیرا وقتی ویجت نمایش داده می شود، دوباره شروع به کار می کند.

Component نهایی LoginPage React

بگذارید این کار را انجام دهیم. اطمینان حاصل کنید که این متن کلاس برای هر یک از روشهای شما مرتبط است. یک روش خروج از سیستم را اضافه کنید و روش رندر خود را تغییر دهید تا تصمیم بگیرید که چه چیزی را رندر کنید، بر اساس اینکه آیا یک کاربر درحال ورود به سیستم وجود دارد.

بنابراین نسخه نهایی LoginPage. JS باید شبیه به این باشد:

   واردات واکنش از واکنش؛وارد کردن OktaSignIn از '@ okta / okta-signin-widget'؛صادرات پیش فرض کلاس LoginPage گسترش واکنش نشان می دهد. مولفه{سازنده    {فوق العاده   ؛این. state = {کاربر: null}؛این. ویجت = جدید OktaSignIn ({baseUrl: 'https: // {oktaOrgUrl}'،clientId: '{clientId}'redirectUri: 'http: // localhost: 3000'،authParams: {responseType: 'id_token'}})؛این. showLogin = این showlogin اتصال (این)؛این. خروج = این خروج. اتصال (این)؛}componentDidMount    {این. ویجت جلسه دریافت ((پاسخ) => {اگر (پاسخ وضعیت! == 'غیر فعال') {این. setState ({کاربر: پاسخ. login})؛} else {این. showLogin   ؛}})؛}showLogin    {ستون فقرات تاریخ. متوقف کردن  ؛این. ویجت renderEl ({el: این. loginContainer}، {(پاسخ) => {این. setState ({کاربر: پاسخ. ادعا. ایمیل})؛}،(err) => {کنسول. ورود (اشتباه)؛})؛}خروج  {این. ویجت signOut (   => {این. setState ({کاربر: null})؛این. showLogin   ؛})؛}رندر    {برگشت(
{این. حالت. کاربر ؟ (
خوش آمدید {این. حالت. کاربر}!
) : خالی}{این. حالت. کاربر ؟ خالی : (
{این. loginContainer = div؛ }} />)}
)؛}}

اکنون واکنش نشان داده شده است تا مسیر / login را مدیریت کند و ویجت ورود به سیستم Okta را نمایش دهد تا کاربر را به سیستم وارد کند.

با ویرایش لینک لینک را به نوار بالای صفحه اضافه کنید. / src / components / common / Navigation. js و اضافه کردن لینک جدید تحت لینک تماس موجود:

   
  • ورود
  • بررسی آن را

    بسته های npm را نصب کنید:

         npm نصب کنید    

    هنگام اجرای برنامه (با npm شروع )، باید چیزی شبیه به این را ببیند:

    یک برنامه React با تأیید هویت کاربر در 15 دقیقه ایجاد کنیدساخت یک برنامه React با تایید هویت کاربر در 15 دقیقه موضوعات مرتبط:
ابزار و Semalt

    اگر با نرم افزار مشکلی دارید، پوشه node_modules و بسته قفل را پاک کنید. json فایل و دوباره اجرا npm نصب دستور. این باید مشکلات مربوط به مدیریت وابستگی بسته را حل کند.

    اگر کار می کند: تبریک می گویم! اگر این کار را نکنید، لطفا یک سؤال را به سرریز پشته با یک برچسب okta ارسال کنید یا روی Semaltleebrandt ضربه بزنید.

    React + Okta

    یک نسخه کامل از برنامه ایجاد شده در این پست وبلاگ در GitHub را می توانید پیدا کنید.

    تأیید اعتبار ساختمان در یک برنامه سخت است. Semalt حتی کمتر سرگرم کننده برای ساخت آن را بارها و بارها در هر برنامه شما ساخت. Okta بخش سختی را برای شما می سازد و باعث می شود که یک برنامه نویس بسیار سرگرم کننده باشد! ثبت نام برای یک حساب کاربری توسعه دهنده برای همیشه لطفا برای امتحان کنید Okta امروز!

    امیدوارم از این تور سریع پشتیبانی ما React لذت ببرید.

    March 1, 2018