ഇൻബോക്സ് കുഴപ്പങ്ങളില്ലാതെ പാസ്വേഡ്ലെസ്സ് ലോഗിൻ പരിശോധിക്കുക
ഒരു ഡെമോയിൽ പാസ്വേഡ്ലെസ്സ് ലോഗിൻ വളരെ എളുപ്പമായി തോന്നും. ഒരു ഉപയോക്താവ് ഇമെയിൽ നൽകുന്നു, ഒരു മാജിക് ലിങ്ക് ലഭിക്കുന്നു, തുടർന്ന് ലോഗിൻ ചെയ്യുന്നു.
സ്റ്റേജിംഗിൽ (staging), ഈ പ്രക്രിയ തകരാറിലാകുന്നു. ലിങ്കുകൾ ഷെയർ ചെയ്ത ഇൻബോക്സുകളിലോ പഴയ ഇമെയിൽ ഏലിയാസുകളിലോ (aliases) ആണ് എത്തുന്നത്. ഇത് ടെസ്റ്റിംഗ് ഒരു കുഴപ്പമായി മാറ്റുന്നു.
പാസ്വേഡ്ലെസ്സ് ഓതന്റേഷൻ (auth) ഒരു ഒറ്റ സിസ്റ്റമായി നിങ്ങൾ കാണണം. നിങ്ങൾ JavaScript ക്ലയന്റ്, Node.js ബാക്കെൻഡ്, ഇമെയിൽ ഡെലിവറി, കൂടാതെ അവസാനത്തെ സെഷൻ എന്നിവയും പരിശോധിക്കേണ്ടതുണ്ട്.
നിങ്ങൾ ഇൻബോക്സ് പരിശോധിക്കാതെ വിട്ടാൽ, നിങ്ങളുടെ API ടെസ്റ്റുകൾ വിജയിച്ചേക്കാം, എന്നാൽ ഉപയോക്താവിന്റെ അനുഭവം (user experience) പരാജയപ്പെട്ടേക്കാം.
സാധാരണയായി സംഭവിക്കുന്ന പരാജയങ്ങൾ ഇവയാണ്:
- റീട്രൈ (retry) ചെയ്ത ശേഷം ബാക്കെൻഡ് രണ്ട് ലിങ്കുകൾ അയക്കുന്നു.
- ഇമെയിൽ തെറ്റായ എൻവയോൺമെന്റ് ഹോസ്റ്റിലേക്ക് (environment host) വിരൽ ചൂണ്ടുന്നു.
- ഒരു പഴയ ലിങ്ക് പ്രവർത്തിക്കേണ്ടതിനേക്കാൾ കൂടുതൽ സമയം പ്രവർത്തിക്കുന്നു.
- കുക്കി (cookie) സെറ്റ് ചെയ്യുന്നതിന് മുമ്പ് തന്നെ ഫ്രണ്ട്എൻഡ് ഉപയോക്താവിനെ ലോഗിൻ ചെയ്തതായി അടയാളപ്പെടുത്തുന്നു.
ഓരോ ടെസ്റ്റ് റണ്ണിനും ഒരു ഐസൊലേറ്റഡ് ഇൻബോക്സ് (isolated inbox) ഉപയോഗിക്കുക. ഇത് നിങ്ങളുടെ ഡാറ്റ വൃത്തിയായി സൂക്ഷിക്കാനും ഡീബഗ്ഗിംഗ് (debugging) വേഗത്തിലാക്കാനും സഹായിക്കും. മൂന്ന് ടെസ്റ്റുകൾ ഒരേ ഇൻബോക്സ് ഉപയോഗിച്ചാൽ, നിങ്ങൾക്ക് പിശക് കണ്ടെത്താൻ കഴിയില്ല.
ഈ വർക്ക്ഫ്ലോ പിന്തുടരുക:
- നിങ്ങളുടെ UI-ൽ നിന്നോ അല്ലെങ്കിൽ ഒരു എൻഡ്-ടു-എൻഡ് (end-to-end) ടെസ്റ്റിൽ നിന്നോ ലോഗിൻ ട്രിഗർ ചെയ്യുക.
- നിങ്ങളുടെ സ്റ്റേജിംഗ് പാത്തിലൂടെ ലിങ്ക് അയക്കാൻ Node.js-നെ അനുവദിക്കുക.
- പുതിയതും ഐസൊലേറ്റഡ് ആയതുമായ ഒരു ഇൻബോക്സിൽ സന്ദേശം പിടിച്ചെടുക്കുക.
- ഒരേ ബ്രൗസർ സെഷനിൽ ഏറ്റവും പുതിയ ലിങ്ക് തുറക്കുക.
- ഓതന്റിക്കേറ്റഡ് സ്റ്റേറ്റ് (authenticated state) പരിശോധിക്കുക.
ഒരു നല്ല ടെസ്റ്റ് എന്നത് ഇമെയിൽ ലഭിച്ചോ എന്ന് പരിശോധിക്കുന്നതിലുപരിയായിരിക്കണം. താഴെ പറയുന്ന ഘട്ടങ്ങൾ ക്രമമായി പരിശോധിക്കുക:
- ലോഗിൻ റിക്വസ്റ്റ് ഒരു സാധാരണ സക്സസ് റെസ്പോൺസ് (success response) നൽകുന്നുണ്ടോ എന്ന് നോക്കുക.
- കൃത്യമായി ഒരു പുതിയ മാജിക് ലിങ്ക് മാത്രം നിലവിലുണ്ടോ എന്ന് നോക്കുക.
- ലിങ്ക് ഹോസ്റ്റ് നിങ്ങളുടെ സ്റ്റേജിംഗ് ഡൊമെയ്നുമായി (staging domain) പൊരുത്തപ്പെടുന്നുണ്ടോ എന്ന് നോക്കുക.
- ടോക്കൺ ഒരു സാധുവായ സെഷൻ ആരംഭിക്കുന്നുണ്ടോ എന്ന് നോക്കുക.
- ഒരേ ലിങ്ക് വീണ്ടും ഉപയോഗിക്കാൻ ശ്രമിക്കുമ്പോൾ പരാജയപ്പെടുന്നുണ്ടോ എന്ന് നോക്കുക.
- മാനുവൽ റീഫ്രഷ് ഇല്ലാതെ തന്നെ ആപ്പ് UI അപ്ഡേറ്റ് ചെയ്യുന്നുണ്ടോ എന്ന് നോക്കുക.
ബാക്കെൻഡിൽ, നിങ്ങളുടെ ലോഗുകളിൽ ഒരു കോറിലേഷൻ ഐഡി (correlation ID) ചേർക്കുക. ഇത് ഒരു റിക്വസ്റ്റ് നിർമ്മിച്ചത് മുതൽ അവസാന സെഷൻ വരെ ട്രാക്ക് ചെയ്യാൻ നിങ്ങളെ സഹായിക്കും.
നിങ്ങളുടെ എല്ലാ ടെസ്റ്റുകളും ഇമെയിൽ അധിഷ്ഠിത ടെസ്റ്റുകൾ കൊണ്ട് മാറ്റിസ്ഥാപിക്കരുത്. ലോജിക്കിനായി വേഗതയേറിയ യൂണിറ്റ് ടെസ്റ്റുകളും (unit tests), സ്റ്റേജിംഗ് സ്യൂട്ടിനായി (staging suite) ഈ ഇൻബോക്സ് പാത്തും ഉപയോഗിക്കുക.
ഷിപ്പ് ചെയ്യുന്നതിന് മുമ്പ് ഈ ചെക്ക്ലിസ്റ്റ് ഉപയോഗിക്കുക:
- ഒരു ലോഗിൻ റിക്വസ്റ്റ് ഒരു ആക്റ്റീവ് ലിങ്ക് മാത്രമേ നിർമ്മിക്കാവൂ.
- സ്റ്റേജിംഗിൽ ഏറ്റവും പുതിയ ഇമെയിൽ എളുപ്പത്തിൽ പാഴ്സ് (parse) ചെയ്യാൻ കഴിയണം.
- ലിങ്ക് ശരിയായ ഹോസ്റ്റിൽ ഉപയോക്താവിനെ സൈൻ ഇൻ ചെയ്യുന്നുണ്ടോ എന്ന് നോക്കുക.
- ലിങ്ക് രണ്ടുതവണ ഉപയോഗിക്കാൻ കഴിയില്ലെന്ന് ഉറപ്പാക്കുക.
- ലോഗൗട്ട് ചെയ്ത് വീണ്ടും ലോഗിൻ ചെയ്യുമ്പോൾ പുതിയൊരു ടോക്കൺ ലഭിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക.
