تأیید هویت – API سفارشی امن

من مشتری دسکتاپ را برای یک فروشگاه الکترونیکی ایجاد می کنم و این مشتری از بعضی از توابع با استفاده از API e-shop استفاده خواهد کرد، مانند:

 GetOrders
UpdateOrder
SetOrder
و غیره...

من تأیید هویت سفارشی را برای آن مشتری ایجاد می کنم، اما نمی دانم این است که در برابر حملات امن است.

تمام ارتباطات با سرویس گیرنده توسط HTTPS انجام می شود.

این کار به این صورت است: [19659006] در اولین درخواست مشتری باید نام کاربری و رمز عبور را برای
سرور بنابراین سرویس گیرنده هش رمز عبور را به چه کاربر ورودی و سپس پس از آن
مشتری درخواست را به سرور با نام کاربری و هشدار ارسال خواهد کرد
رمز عبور

  • سرور رمز عبور هشدار را با رمز عبور هشدار در DB مقایسه می کند
    نام کاربری، اگر آن برابر باشد، سرور سرور را ایجاد می کند (مانند api key)

  • در هر درخواست سرور موفق، طول عمر نشانه را تجدید می کند.

  • درخواست ها باید مانند این باشد:

     ] POST / دستورات / دریافت HTTP / 1.1
    میزبان: example.com
    token = 123456789 & orderid = 10
    

    آیا توصیه های امنیتی وجود دارد اگر من باید از درخواست های POST یا درخواست های GET استفاده کنم؟ آیا POST امن تر نیست و سپس دریافت؟ به عنوان مثال POST اطلاعات را در قسمت درخواست HTTP ذخیره می کند، اما GET آن را در URL ذخیره می کند.

    تأیید اعتبار – هنگامی که TouchID / اثر انگشت ورود به سیستم منقضی می شود؟

    من نمی توانستم چنین استانداردی را پیدا کنم که درمورد تاریخ TouchID یا اثر انگشت اشاره به تاریخ انقضا داشته باشد.

    فرض کنید من یک برنامه دارم و اجازه می دهد که کاربران با استفاده از اثر انگشت وارد سیستم شوند. من می خواهم بدانم چقدر طول می کشد تا بتوانم کاربر خود را با اثر انگشت وارد سیستم شوید تا دوباره مجددا آن را وارد کنید. به عنوان مثال، کاربر اجازه ورود به سیستم با استفاده از اثر انگشت را برای 3 ماه و هر 3 ماه کاربر باید دوباره وارد رمز عبور شود.

    آیا چنین استانداردی در مورد طول زمان مشخص شده است؟ یا می تواند برای همیشه بماند؟

    احراز هویت – فشار خودکار در ارتکاب (در مخزن bitbucket)

    من یک وبسایت دارم که تمام تغییرات انجام شده به یک مخزن محلی git انجام می شود.

    من به نیاز دارم که آنها را به طور مستقیم از سرور وب به یک مخزن Bitbucket از راه دور بکشند.

    روش احراز هویتی که من برای انجام این کار استفاده می کنم، توسط کلید رمز SSH ذخیره نشده در وب سرور ذخیره شده است، اما فکر می کنم این ممکن است خیلی امن نباشد

    بنابراین سوال این است … آیا می دانید امن تر و یا به سادگی بهتر) روش به طور خودکار فشار از تغییرات از یک وب سرور به مخزن خصوصی Git-Bitbucket؟

    تأیید اعتبار – تفاوت بین res.header (x-auth، JWTtoken) و res.cookies (JWTtoken)؟

    من در تمام وبلاگ ها و مقالات دیده ام که دو راه برای اداره JWTtokens وجود دارد، آنها را داخل localStorage قرار داده و برای حمله XSS آنها در داخل کوکی ها و مجموعه httpOnly و امن پرچم برای جلوگیری از XSS .

    با استفاده از localStorage

    سرور علامت را خارج از localStorage استخراج کرده و آن را به مجوز: Bearer بطور دستی وارد می کند.

    با استفاده از کوکی ها

    آن را توسط طرف JS قابل دسترسی نخواهید بود، آنچه که شما انجام می دهید، res.cookies (token) است و به صورت خودکار برای هر تماس بعدی ارسال می شود بر خلاف localStorage

    اما اخیرا برخی از توسعه دهندگان را دیدم که علامت گذاری شده در هدر ها با استفاده از res.headers ('x-auth'، token) .

    1. آیا راه سوم برای مدیریت JWT است؟
    2. آیا هدر X-Auth برای هر درخواست بعدی به سرور مانند کوکی ها به صورت خودکار تنظیم می شود یا شما باید آن را دستی (به عنوان مثال در مورد localStorage) تنظیم کنید؟
    3. آیا نشانه ها در هدر X-Auth توسط JS قابل دسترسی نیستند و مانند کوکی ها قابل دسترسی هستند؟
    4. تفاوت بین انجام این کار res.header ('X-auth') و res.cookie (token) چیست؟
    5. سرانجام بهترین راه برای انجام این کار این است که اگر API من توسط برنامه ReactJS وب و برنامه تلفن همراه واکنش دهنده بکار برده شود؟

    با تشکر