Importing Users Without Password Resets
ಐಡೆಂಟಿಟಿ ಮೈಗ್ರೇಷನ್ ಗೈಡ್ಗಳು ಯಾವಾಗಲೂ ಒಂದೇ ವಿಷಯವನ್ನು ಹೇಳುತ್ತವೆ. ಬಳಕೆದಾರರು ತಮ್ಮ ಪಾಸ್ವರ್ಡ್ಗಳನ್ನು ರಿಸೆಟ್ ಮಾಡಲೇಬೇಕು ಎಂದು ಅವು ಹೇಳುತ್ತವೆ. ಇದು ನಿಯಮವಲ್ಲ. ಇದು ಒಂದು ಆಯ್ಕೆ. ಹೆಚ್ಚಿನ ಪರಿಕರಗಳು ಸರಿಯಾದ ಹಾದಿಯ ಬದಲಿಗೆ ಸುಲಭವಾದ ಹಾದಿಯನ್ನು ಆರಿಸಿಕೊಳ್ಳುತ್ತವೆ.
ನೀವು ರಿಸೆಟ್ ಮಾಡದೆಯೇ ಬಳಕೆದಾರರನ್ನು ಮೈಗ್ರೇಟ್ ಮಾಡಬಹುದು. ನೀವು ಕೇವಲ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪಾಸ್ವರ್ಡ್ ಹ್ಯಾಶ್ಗಳನ್ನು (password hashes) ಪರಿಶೀಲಿಸಬೇಕಾಗುತ್ತದೆ. ನಿಮ್ಮ ಬಳಿ ಹಳೆಯ ಹ್ಯಾಶ್ಗಳಿದ್ದರೆ ಮತ್ತು ನಿಮ್ಮ ಹೊಸ ಸಿಸ್ಟಮ್ ಅವುಗಳನ್ನು ಓದಬಲ್ಲದಾಗಿದ್ದರೆ, ಈ ಬದಲಾವಣೆಯು ಬಳಕೆದಾರರಿಗೆ ತಿಳಿಯದಂತೆಯೇ ನಡೆಯುತ್ತದೆ.
ಪಾಸ್ವರ್ಡ್ ಹ್ಯಾಶ್ ಎಂಬುದು ರಹಸ್ಯವಲ್ಲ. Bcrypt ಎಂಬುದು Bcrypt ಆಗಿಯೇ ಇರುತ್ತದೆ. ಅದು ತನ್ನದೇ ಆದ salt ಮತ್ತು cost factor ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ. Bcrypt ಬಳಸುವ ಯಾವುದೇ ಸಿಸ್ಟಮ್ ಅದನ್ನು ಪರಿಶೀಲಿಸಬಲ್ಲದು. PBKDF2 ಕೂಡ ಅದೇ ರೀತಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ನಿಮ್ಮ ಬಳಿ ಹ್ಯಾಶ್ ಇದ್ದರೆ, ನಿಜವಾದ ಪಾಸ್ವರ್ಡ್ ತಿಳಿಯದೆಯೇ ಅದರ ವಿರುದ್ಧ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನೀವು ಪರೀಕ್ಷಿಸಬಹುದು.
ಸಮಯ ಉಳಿಸಲು lazy migration ಬಳಸಿ.
- ಹಳೆಯ ಹ್ಯಾಶ್ ಅನ್ನು ಹೊಸ ಸಿಸ್ಟಮ್ಗೆ ವರ್ಗಾಯಿಸಿ.
- ಬಳಕೆದಾರರು ಲಾಗ್ ಇನ್ ಆದಾಗ ಹ್ಯಾಶ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ.
- ತಕ್ಷಣವೇ ಅದನ್ನು ಹೊಸ ಫಾರ್ಮ್ಯಾಟ್ನೊಂದಿಗೆ ಬದಲಾಯಿಸಿ.
ಕೆಲವು ವಾರಗಳಲ್ಲಿ, ನಿಮ್ಮ ಡೇಟಾಬೇಸ್ ತನ್ನಷ್ಟಕ್ಕೆ ತಾನೇ ಅಪ್ಡೇಟ್ ಆಗುತ್ತದೆ. ನಿಮಗೆ ಯಾವುದೇ ಪಾಸ್ವರ್ಡ್ ರಿಸೆಟ್ ಇಮೇಲ್ಗಳು ಅಥವಾ ಸಪೋರ್ಟ್ ಟಿಕೆಟ್ಗಳು ಬರುವುದಿಲ್ಲ.
ವಿವಿಧ ಮೂಲಗಳು ವಿಭಿನ್ನ ಫಾರ್ಮ್ಯಾಟ್ಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ.
Self-hosted Duende ಅಥವಾ ASP.NET Identity: ಇವು V3 PBKDF2 ಅಥವಾ bcrypt ಅನ್ನು ಬಳಸುತ್ತವೆ. ಹೊಸ ಸಿಸ್ಟಮ್ ಇವುಗಳನ್ನು ಸುಲಭವಾಗಿ ಪರಿಶೀಲಿಸಬಹುದು ಮತ್ತು rehash ಮಾಡಬಹುದು. ಇದು ಒಂದು ಸುಗಮ ಪ್ರಕ್ರಿಯೆ.
Auth0: ಇವು bcrypt ಅನ್ನು ಬಳಸುತ್ತವೆ. ನೀವು ಅವುಗಳನ್ನು ನೇರವಾಗಿ ಇಂಪೋರ್ಟ್ ಮಾಡಬಹುದು. ಆದಾಗ್ಯೂ, ನೀವು ಅವುಗಳನ್ನು ಸ್ಟ್ಯಾಂಡರ್ಡ್ API ಮೂಲಕ ಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ. ಭದ್ರತೆಯ ಕಾರಣಕ್ಕಾಗಿ Auth0 ತನ್ನ API ಮೂಲಕ ಹ್ಯಾಶ್ಗಳನ್ನು ಹಿಂತಿರುಗಿಸುವುದಿಲ್ಲ. ನೀವು ಅವರ ಸಪೋರ್ಟ್ ತಂಡದಿಂದ ಬಲ್ಕ್ ಎಕ್ಸ್ಪೋರ್ಟ್ ಫೈಲ್ (bulk export file) ಅನ್ನು ವಿನಂತಿಸಬೇಕು. ಈ ಫೈಲ್ನಲ್ಲಿ bcrypt ಹ್ಯಾಶ್ಗಳಿರುತ್ತವೆ. ಮೈಗ್ರೇಷನ್ ಬಳಕೆದಾರರಿಗೆ ತಿಳಿಯದಂತೆ ಇರಿಸಲು ಈ ಫೈಲ್ ಅನ್ನು ಬಳಸಿ.
ಒಂದು ವೇಳೆ ನಿಮಗೆ ಹ್ಯಾಶ್ಗಳು ಸಿಗದಿದ್ದರೆ, ಬಳಕೆದಾರರು ಹೊಸ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಹೊಂದಿಸಬೇಕಾಗುತ್ತದೆ. ಇದು ಒಂದು ಪ್ರಾಮಾಣಿಕ ಪರ್ಯಾಯ ಮಾರ್ಗ. ಸಾಧ್ಯವಾದರೆ, ಯಾವುದೇ ಪರಿಕರವು ನಿಮ್ಮ ಮೇಲೆ ರಿಸೆಟ್ ಅನ್ನು ಹೇರಲು ಬಿಡಬೇಡಿ.
ಬಲವಂತದ ರಿಸೆಟ್ಗಳು ಸಮಸ್ಯೆಗಳನ್ನು ಉಂಟುಮಾಡುತ್ತವೆ:
- ಅವು ಸಪೋರ್ಟ್ ಲೋಡ್ ಅನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ.
- ಅವು ಬಳಕೆದಾರರು ಫಿಶಿಂಗ್ (phishing) ಇಮೇಲ್ಗಳನ್ನು ನಂಬುವಂತೆ ಮಾಡುತ್ತದೆ.
- ಅವು ಒಂದು ಶಾಂತವಾದ ಬದಲಾವಣೆಯನ್ನು ದೊಡ್ಡ ಸಮಸ್ಯೆಯನ್ನಾಗಿ ಪರಿವರ್ತಿಸುತ್ತವೆ.
ಒಂದು ಉತ್ತಮ ಮೈಗ್ರೇಷನ್ ಏನೂ ಆಗದಂತೆಯೇ ಇರಬೇಕು. ಬಳಕೆದಾರರಿಗೆ ಪಾಸ್ವರ್ಡ್ ರಿಸೆಟ್ ಮಾಡಲು ಹೇಳುವ ಮೊದಲು, ಹಳೆಯ ಹ್ಯಾಶ್ಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವೇ ಎಂದು ಕೇಳಿ.
Source: https://dev.to/authagonal/importing-users-without-a-password-reset-5h1j
