Я заметил, что в некоторых текущих версиях NextCloud есть пункт меню администратора для добавления клиентов Oauth 2.0. Это дает вам идентификатор клиента и секрет клиента, как и следовало ожидать, а также принимает URL-адрес перенаправления. Теперь вопрос в том, как мне это использовать. Я нашел только одно упоминание об этом в Интернете, и это это .
В настоящее время я использую прокси Oauth2 от Bitly на github, который можно найти здесь . Мой веб-сервер - Nginx, и я запускаю NextCloud 12. У меня есть еще одно внутреннее приложение, которое я также размещаю, оно запускается вместе с пустой установкой GitLab, и эта установка GitLab используется в качестве обратного прокси-сервера Oauth 2 для аутентификации до добраться до нашего внутреннего программного обеспечения.
Любая помощь или указатели были бы замечательными, это кажется очень мощной функцией NextCloud, которая, похоже, не имеет никакой поддержки / документации.
Чтобы быть немного более конкретным, я постараюсь лучше объяснить свой текущая настройка и то, как я хотел бы, чтобы она выглядела.
Текущая:
У меня есть 3 "дочерних сайта", если хотите:
www.site.com/subsiteA/
www.site. com / subsiteB /
www.site.com/subsiteC/
Пользователь переходит на www.site.com/subsiteC
и возвращается к логину GitLab по адресу www.site.com/subsiteA/
. После успешного входа в систему они возвращаются на www.site.com/subsiteC/
.
Аналогичным образом, если вы перейдете на www.site.com/subsiteB/
, вы будете проксированы через www.site.com/subsiteA/
, однако пользователю все равно придется входить в систему через NextCloud.
(Переход на дочерний сайтA
приведет вас прямо к GtiLab)
Ideal Настройка:
www.site.com/subsiteA/
www.site.com/subsiteB/
Если вы перейдете на www.site.com/ subsiteB /
вы попали через subsiteA
, но это все. В этой настройке нет необходимости входить в GitLab перед входом в NextCloud.
Nextcloud добавил в свою документацию раздел об OAuth2 .
Вам понадобится различная информация как о ваших клиентских приложениях, так и о Nextcloud. Вот самые важные сведения о nextcloud:
SERVER / apps / oauth2 / authorize
SERVER / apps / oauth2 / api / v1 / token
SERVER / ocs / v2.php / cloud / user? format = json
( пример вывода ) ocs .data.id
, ocs.data.display-name
, ocs.data.email
и некоторые другие. Я написал два руководства:
Возможно, это хорошее начало для ваших нужд конфигурации. Если вы встретите какие-либо другие хорошие руководства, не забудьте упомянуть их в комментариях!