это правильный рабочий процесс для входа в систему с помощью oauth2?

Мне нужно реализовать логин LinkedIn для одного из клиентов. Вот рабочий процесс, который я поддерживаю,

  1. Пользователь будет нажимать кнопку «LoginUsingLinkedIn» в первый раз.

  2. Пользователь будет перенаправлен на страницу авторизации linkedin, и если он авторизуется, я запрашиваю токен доступа и проверяю
    тот же токен доступа в куки браузера. Сейчас я звоню в linkedin, чтобы получить информацию о пользователе, используя этот токен.

  3. Теперь предположим, что пользователь снова заходит на сайт через 2-3 дня, затем сначала я проверяю, есть ли в cookie-файле какой-либо токен доступа.

    3,1: Если accesstoken присутствует в cookie, я звоню в linkedin, чтобы получить идентификатор электронной почты, если он успешен, то accesstoken
    действителен и продолжайте дальше. Если вызов возвращает ошибку, то я перенаправляю пользователя на страницу авторизации linkedin снова.

    3,2: Если маркер доступа отсутствует в cookie, пользователь будет перенаправлен на страницу проверки подлинности. стр.

Это первый раз, когда я интегрирую oauth-логин на любой сайт. Пожалуйста, дайте мне знать, если есть какие-либо проблемы с этим подходом.

Безопасно ли хранить маркер доступа в файле cookie браузера? ИЛИ мы будем хранить код авторизации в куки и каждый раз получать маркер доступа? Я не уверен, имеет ли это смысл. Пожалуйста помоги.

2

Решение

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

Если вам нужен только вход в систему, и вы не делаете что-то на linkedin, как пользователь, просто получите авторизацию, если пользователь не вошел в систему, и сохраните информацию о пользователе, а затем, когда сеанс истек или если пользователь вышел из системы, получите авторизацию. снова.

https://github.com/thephpleague/oauth2-linkedin

https://github.com/thephpleague/oauth2-client

0

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

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

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