OpenId Connect с помощью PHP или Java-скрипта - PullRequest
0 голосов
/ 17 октября 2019

Мне нужно внедрить SSO на сайте, который является PHP

Когда пользователь нажимает кнопку входа в систему, мне нужно показать форму SSO, соединяющуюся с сервером идентификации

Я нея действительно знаю, с чего начать

Все, что я знаю в настоящее время, это то, что я должен использовать OpenID Connect

Мне интересно, можно ли использовать Javascript

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

Может кто-нибудь дать какие-нибудь указатели?

1 Ответ

0 голосов
/ 18 октября 2019

Моя фирма обычно рекомендует клиент PHPLeague OAuth2 для интеграции с PHP. В README.md есть пример кода, но в основном

  • Включите соответствующий ключ клиента и секрет в $ Provider,
  • Сделайте вызов getAuthorizationURL () с $ Provider, который перенаправит пользователя на страницу входа и вернется к вашему коду с помощью ?code=[stuff],
  • . Затем вы можете использовать значение в $_GET['code'] для получения токена доступа от провайдера идентификации и
  • используя этот токен, вы сможете использовать getAuthenticatedRequest по мере необходимости, если вам нужно извлечь что-то из защищенного API на сервере идентификации, или
  • , вы также можете просто получить информацию о пользователе. о $resourceOwner, который возвращается.

Токен доступа имеет информацию об истечении срока действия и т. д., и есть функции для обновления токена по мере необходимости. В общем, это действительно просто сделать с помощью PHP.

Я избегаю JS для OAuth, но я уверен, что это всего лишь личное предпочтение. Есть также хороших библиотек JavaScript .

Редактировать:

Чтобы включить поддержку OIDC, убедитесь, что вы указали область OIDC:

$options = ['scope' => ['openid']];

и вызов getAuthorizationUrl с массивом $ options, например:

$authorizationUrl = $provider->getAuthorizationUrl($options);

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