فعالسازی کاربر
در حال حاضر، کاربر میتواند با API Greenlight ما یک حساب کاربری ثبت کند، اما مطمئن نیستیم که آدرس ایمیلی که در هنگام ثبتنام ارائه کرده واقعاً متعلق به خودش است.
بنابراین، در این بخش از کتاب، ما با قرار دادن دستورالعملهای «فعالسازی حساب» در ایمیل خوشآمدگویی، تأیید خواهیم کرد که کاربر از آدرس ایمیل واقعی و متعلق به خودش استفاده کرده است.
دلایل متعددی برای داشتن مرحله فعالسازی حساب وجود دارد، اما مزایای اصلی آن این است که یک مانع اضافی برای رباتها ایجاد میکند و به جلوگیری از سوءاستفاده توسط افرادی که با آدرس ایمیل جعلی یا آدرسی که متعلق به خودشان نیست ثبتنام میکنند، کمک میکند.
برای ارائه یک مرور کلی از قبل، فرآیند فعالسازی حساب به صورت زیر عمل خواهد کرد:
- به عنوان بخشی از فرآیند ثبتنام کاربر جدید، یک توکن فعالسازی تصادفی با امنیت رمزنگاری ایجاد خواهیم کرد که حدس زدن آن غیرممکن است.
- سپس هش این توکن فعالسازی را در یک جدول
tokensجدید، همراه با شناسه کاربر جدید و زمان انقضا برای توکن ذخیره خواهیم کرد. - توکن فعالسازی اصلی (هشنشده) را در ایمیل خوشآمدگویی کاربر ارسال خواهیم کرد.
- کاربر سپس توکن خود را به یک endpoint جدید
PUT /v1/users/activatedارسال میکند. - اگر هش توکن در جدول
tokensوجود داشته باشد و منقضی نشده باشد، وضعیتactivatedکاربر مربوطه را رویtrueتنظیم خواهیم کرد. - در نهایت، توکن فعالسازی را از جدول
tokensحذف خواهیم کرد تا دوباره قابل استفاده نباشد.
در این بخش از کتاب، یاد خواهید گرفت که چگونه:
یک گردش کار امن «فعالسازی حساب» پیادهسازی کنید که آدرس ایمیل کاربر جدید را تأیید میکند.
توکنهای تصادفی با امنیت رمزنگاری با استفاده از پکیج
crypto/randGo تولید کنید.هشهای سریع از دادهها با استفاده از پکیج
crypto/sha256تولید کنید.الگوهایی برای کار با روابط بین جدولهای پایگاه داده پیادهسازی کنید، از جمله راهاندازی کلیدهای خارجی و بازیابی دادههای مرتبط از طریق queryهای
JOINSQL.