Розкриття інформації : Я інженер в Auth0 .
Це залежить від одного головного моменту ... вам потрібно вирішити, чи:
- Ви хочете безпосередньо витратити значну кількість часу (і опосередковано витратити гроші) на створення та / або підтримку власного постачальника даних та сервера авторизації
- або ви віддаєте перевагу безпосередньо витрачати гроші та використовувати стороннього постачальника аутентифікації, наприклад Auth0.
Обидва варіанти є цілком життєздатними з точки зору ваших функціональних потреб. Завдяки спеціальній розробці ви повністю контролюєте функціонал, який ви вирішили підтримувати, тому я зосередив частину відповіді на тому, як Auth0 може відповісти на вказані вами вимоги .
Однак перед тим, як переходити до цього, незалежно від вашого рішення, для аутентифікації слід зосередитись на OpenID Connect замість OAuth2. Останнє буде більш застосовно, якщо ви плануєте також мати API в суміші, а не просто розділити моноліт на окремі веб-програми.
Як перенести існуючих користувачів до системи на базі Auth0?
Ви можете вирішити, як продовжувати використовувати свою базу даних, і покластися на Auth0, щоб забезпечити всі відповідність протоколам, пов’язаним з автентифікацією, які можуть вам знадобитися, або ви можете перенести своїх користувачів до керованих Auth0 баз даних і перестати турбуватися про збереження та перевірку паролів.
Якщо ви віддаєте перевагу продовжувати використовувати свою базу даних, перегляньте розділ Аутентифікація користувачів з ім'ям користувача та паролем за допомогою користувацької бази даних
Програми часто покладаються на бази даних користувачів для аутентифікації. Auth0 дозволяє легко підключатися до цих сховищ та використовувати їх як постачальників ідентифікацій, зберігаючи облікові дані користувачів та надаючи безліч додаткових функцій.
(Документи називають MySQL лише прикладом, підтримуються інші двигуни бази даних)
З іншого боку, ви можете легко переміщувати облікові дані користувачів до баз даних Auth0, використовуючи процес міграції, описаний у програмі Migrate Users, до Auth0
Auth0 підтримує автоматичну міграцію користувачів на Auth0 із підключення до бази даних. Ця функція додає ваших користувачів до бази даних Auth0 одночасно під час кожного входу та уникає прохання користувачів одночасно скинути свої паролі.
Ви також можете створити всіх своїх користувачів в Auth0 за допомогою API управління, якщо ви хочете, щоб усі вони почали використовувати наш алгоритм хешування паролів відразу. Це має побічний ефект від того, щоб вимагати від користувачів скидання пароля.
Як продовжувати користуватися двоступеневою автентифікацією (питання підтвердження)?
Трубопровід аутентифікації, наданий Auth0, повністю настроюється за допомогою правил . Це означає, що, хоча вам і не доводилося реалізовувати будь-які матеріали, пов’язані з протоколом, ви все одно можете точно налаштувати дрібні деталі того, як відбувається автентифікація у вашій програмі.
Сюди входить можливість продовжувати використовувати наявні питання підтвердження як спосіб здійснити двоетапний процес аутентифікації, коли користувач надає початковий пароль, перевірений Auth0, а потім ви запитаєте їх для отримання додаткової інформації з користувацького правила. (правила - це лише Javascript, тому можливості безмежні)
Однак ви також можете вирішити скасувати питання підтвердження і замість цього перейти з Auth0 Guardian як спосіб підвищити безпеку процесу автентифікації.
Як налаштувати зовнішній вигляд інтерфейсу аутентифікації?
За допомогою Auth0 ви можете мати чистий інтерфейс автентифікації в найкоротші терміни, використовуючи сторінки для входу за замовчуванням або віджети автентифікації на зразок Lock . Всі вони підтримують певну ступінь налаштування, і ви завжди можете вирішити зробити свій власний інтерфейс самостійно і замість цього використовувати бібліотеки Auth0 нижнього рівня ( Auth0.js ), які не обмежують користувальницький інтерфейс.
Для отримання додаткової інформації про налаштування:
Як не допустити явної сторінки згоди?
Ви можете використовувати Auth0 як постачальник ідентифікаційних даних для цілей аутентифікації, а також як сервер авторизації OAuth2 (на даний момент доступний лише в регіоні США) для своїх API.
Як постачальник ідентифікаційних даних вам не потрібно турбуватися про сторінки згоди, користувач автентифікується за допомогою своїх облікових даних, якими керує Auth0, а потім переспрямовується на вашу програму - це все.
У OAuth2 як сценарій обслуговування, коли згоду включено, дорожня карта включає можливість обходу сторінок згоди для певних програм.
Зрештою, це здається дуже цікавим та складним проектом, який ви потрапили туди, тож удача незалежно від вашого остаточного рішення.
Я вже проходив щось подібне на попередній роботі, коли мені довелося повторно впровадити систему аутентифікації застарілого додатка. Ми реалізували власного постачальника ідентифікаційних даних і сервер авторизації, і якщо чесно, я все ще відчуваю, що ми, можливо, забули щось дійсно важливе.
Я думаю, що це найбільша проблема з прокруткою власної безпеки. Будуть випадки, коли строки накладають ярлики, а безпека насправді не є хорошою областю для створення ярликів.
Якщо у вас є додаткові питання, повідомте мене, якщо ви вважаєте, що я можу бути корисним.