Я работаю над проектом, в котором я разрабатываю платформу. Как сольный разработчик, я принял решение использовать Lumen в качестве PHP-интерфейса и создать RESTful API.
Интернет-магазины должны иметь возможность установить плагин, чтобы они могли получить доступ к API без необходимости самим кодировать.
Мне нужно следить за интернет-магазинами, которые используют API. Мне просто нужен тот же способ получения токенов доступа, как Twitter и Facebook, когда вы регистрируете приложение.
Так что я думал об OAuth2 Server, но никогда не использовал его раньше, поэтому я не уверен, что я на правильном пути …
Если вам нужна собственная система OAuth2, тогда вам понадобится сервер, на котором она работает.
Идея OAuth2 состоит в том, чтобы аутентифицировать ваших клиентов, если магазин равен одному клиенту.
OAuth2 — это не отдельные пользователи, а клиенты. Помня об этой идее, вы можете настроить сервер OAuth2, и его единственной задачей будет проверка подлинности каждого запроса, проверка его принадлежности к распознанному клиенту и выдача токена.
С этим токеном вы можете продолжать и отправлять больше запросов для фактического взаимодействия с системой, которую вы строите. Конечно, это очень высокий уровень обзора всей системы.
Там может быть несколько вариантов, как выдаются токены, какой тип они
и т. д. Я предпочитаю JWT (JSON Web Tokens), так как это JSON и, следовательно, легкий.
Быстрый поиск показал это: http://bshaffer.github.io/oauth2-server-php-docs/overview/jwt-access-tokens/
У меня есть своя собственная статья по созданию вашей собственной системы OAuth2, однако она основана на точечной сети, а не на PHP. Вы можете использовать его, хотя, возможно, это поможет прояснить концепцию.
Вот ссылка: https://eidand.com/2015/03/28/authorization-system-with-owin-web-api-json-web-tokens/
Других решений пока нет …