Выбор идентификатора пользователя в приложении, которое использует Auth0 для аутентификации Facebook?

Я создаю список приложений TODO, используя Angular и PHP.

Я использую Auth0, чтобы разрешить аутентификацию Facebook, и после завершения процесса пользователь перенаправляется на страницу TODO. Тем не менее, я запутался, как сохранить этот элемент TODO в моей базе данных MySQL. Какой идентификатор пользователя я должен использовать, чтобы сохранить элемент TODO?

В ответ я получаю идентификатор пользователя Facebook; я могу сохранить его, используя идентификатор пользователя FB?

1

Решение

Вы можете, но если вы используете идентификатор Facebook в качестве внутреннего способа идентификации пользователей в базе данных MySQL, вы делаете свое приложение менее гибким для изменения.

Например, вы сохраняете идентификатор Facebook в столбце с типом данных, который поддерживает формат идентификатора Facebook. А теперь представьте, что через два месяца вы тоже захотите поддержать пользователей Google.

Идентификатор Google может быть в формате, который не поддерживается выбранным вами типом данных, поэтому вам нужно будет внести изменения. Кроме того, может даже случиться, что идентификаторы Google и Facebook не являются глобально уникальными, поэтому один и тот же идентификатор может использоваться Google для представления пользователя A, в то время как на Facebook он используется для пользователя B.

Лучше всего сохранить данные вместе с внутренним идентификатором, которым вы управляете, и они сопоставили его с глобально уникальным способом идентификации ваших пользователей; например адрес электронной почты.

Учитывая, что вы используете Auth0, вы можете воспользоваться тем, что он предоставит вам глобально уникальный идентификатор для каждого пользователя. Это означает, что позже вы сможете поддерживать новые способы аутентификации своих пользователей, и Auth0 всегда будет предоставлять вашему приложению глобально уникальный идентификатор, даже в тех случаях, когда пользователи аутентифицируются без предоставления адресов электронной почты.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]