Интеграция Grafana с провайдером идентификации с использованием openid connect и универсального oauth

Я пытаюсь интегрировать forgerock openAM (Identity Provider) с графаном, используя общий oauth. Я упомянул конечные точки и все в конфигурации. Он перенаправляет на сервер openAM и запрашивает учетные данные для входа. но после нажатия на кнопку разрешения, это показывает ошибку на стороне сервера. Я проверил grafana.log. это показывает, как это.

t = 2017-12-31T12: 26: 52 + 0530 lvl = info msg = "Запрос выполнен" logger = контекст userId=0 orgId=0 uname= метод =GET путь = / login / generic_oauth status = 302 remote_addr = 192.168.1.153 time_ms = 0 size = 338 referer = http://grafana.oneeight.com:3000/login t = 2017-12-31T12: 27: 26 + 0530 lvl = eror msg = "login.OAuthLogin (получить информацию из generic_oauth)" logger=context userId=0 orgId=0 uname= error="Ошибка при получении информации о пользователе: {\"error_description\":\" Предоставленный маркер доступа устарел, отозван, неверно сформирован или недействителен по другим причинам.\",\" ошибка \":\"invalid_token\"}" t=2017-12-31T12:27:26+0530 lvl=eror msg="Запрос выполнен" logger = контекст userId=0 orgId=0 uname= method=GET path=/login/generic_oauth status=500 remote_addr=192.168.1.153 time_ms=92 size=1147 referer="http://openam13.oneeight.com:8080/openam/oauth2/authorize?realm=Operators&access_type=online&client_id=operator_id&redirect_uri=hp 2F%2Fgrafana.oneeight.com%3A3000%2Flogin%2Fgeneric_oauth&response_type= код & сфера = UID + + профиль OpenID & состояние =OpiuNzehHEqm0hq93ogfKoSG1%2FMJXtcrhPgDz22Glc0%3D" t=2017-12-31T12:27:26+0530 lvl=info msg=" Запрос выполнен "logger = контекст userId=0 orgId=0 uname= метод =GET путь =/public/css/fts.min.css status=404 remote_addr=192.168.1.153 time_ms=1 size=11374 referer="http://grafana.oneeight.com:3000/login/generic_oauth?code=ae93d8c7-3349-4618-88d3-c7f31645e6ff&scope=uid%20openid%20profile&state=OpiuNzehHEqm0hq93ogfKoSG1%2FMJXtcrhPgDz22Glc0%3D" t=2017-12-31T12:27:26+0530 lvl=info msg=" Запрос завершен "logger = метод контекста userId = 0 = имя пользователя = G = = имя пользователя = G = = uname user = ID = 0 или ung public/build/grafana.dark.min.css status=404 remote_addr=192.168.1.153 time_ms=2 size=11374 referer="http://grafana.oneeight.com:3000/login/generic_oauth?code=ae93d8c7-3349-4618-88d3-c7f31645e6ff&scope=uid%20openid%20profile&state=OpiuNzehHEqm0hq93ogfKoSG1%2FMJXtcrhPgDz22Glc0%3D"Кто-нибудь может помочь, пожалуйста, выяснить решение?

Вот набор журналов из OpenAM, когда grafana пытается получить доступ к данным пользователя

b8efbd7-768a-4038-af7f-cd2de423d285-12480","2018-01-02T06:09:25.965Z","AM-ACCESS-РЕЗУЛЬТАТ","eb8efbd7-768a-4038-af7f-cd2de423d285-12478","идентификатор = Vipin, НУ = пользователь, о = операторы, НУ = услуги, dc = oneeight, DC = ком", "[" "444b699c238b89d301""]", "192.168.1.77","8080","192.168.1.153", "51058",,,, "false", "GET", " http://openam13.oneeight.com:8080/openam/oauth2/authorize ", "{""realm"":[""Operators" "] ""access_type"":["" онлайн ""] ""client_id"":[""operator_id""] ""response_type"":["" код ""] "" сфера "": [ "" UID%20openid%20profile""] "" состояние "":[""qbHM3cXul897yzIMeK5rQD4TZicEzw5N22F%2FrS3E8ls%3D""]}" "{""принимать" ": ["" текст / HTML, приложение / XHTML +xml,application/xml;q=0,9, image / webp, image / apng, /; q = 0,8 ""],"" host"":["" openam13.oneeight.com:8080""],""referer "": ["" http://openam13.oneeight.com:8080/openam/XUI/ ""],"" upgrade-insecure-запросы "":[""1""],"" пользователь-агент "":[""Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/63.0.3239.108 Safari/537.36""}}","{""JSESSIONID"":""9C5CF9FDE026ECFF31BD51935CC8E45D"",""amlbcookie"":""01"",""i18next"":"" EN-US ""}",, "УСПЕШНО",,, "10", "миллисекунды","OAuth","/ Операторы" "eb8efbd7-768a-4038-af7f-cd2de423d285-12483", "2018-01-02T06: 09: 32.981Z","AM-ACCESS-OUTCOME","eb8efbd7-768a-4038-af7f-cd2de423d285-12481", "ID = Vipin, НУ = пользователь, о = операторы, НУ = услуги, dc = oneeight, DC = ком", "[" "444b699c238b89d301""]", "192.168.1.77","8080","192.168.1.153", "51058",,,, "false", "POST", " http://openam13.oneeight.com:8080/openam/oauth2/authorize ", "{""realm" ": [ "" Операторы ""] ""access_type"":["" онлайн ""] ""client_id"":[""operator_id""] ""response_type"":["" код ""]," "Объем"":[""UID% 20openid% 20profile""]", "состояние"":[""qbHM3cXul897yzIMeK5rQD4TZicEzw5N22F% 2FrS3E8ls% 3D""]}","{""принимать"":[""текст / html, application / xhtml +xml,application/xml;q=0,9, image / webp, image / apng, /; q = 0,8 ""],"" host"":["" openam13.oneeight.com:8080 " "]," "origin"":["" http://openam13.oneeight.com:8080/ " "]," referer "": ["" http://openam13.oneeight.com:8080/openam/ oauth2 / авторизацию? REALM = операторы & access_type = онли http://openam13.oneeight.com:8080/openam/oauth2/authorize?realm=Operators&access_type=online&client_id=operator_id&redirect_uri=http%3A%2F%2Fgrafana.oneeight.com%3A3000%2Flogin%2Fgeneric_oauth&response_type=code&scope=uid%20openid%20profile&state=qbHM3cXul897yzIMeK5rQD4TZicEzw5N22F%2FrS3E8ls%3D ""] "" обновить-небезопасные-запросы "": [ "" 1 ""],"" пользовательский агент "": ["" Mozilla / 5.0 (X11; Fedora; Linux x86_64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 63.0.3239.108 Safari / 537.36 ""}} "," {"" JSESSIONID ":" "9C5CF9FDE026ECFF31BD51935CC8E45D" "," amlbc "" "," "i18next" ":" "en""}",,"SUCCESSFUL",,,"34","MILLISECONDS","OAuth","/Operators" "eb8efbd7-768a-4038-af7f-cd2de423d285-12496", "2018-01-02T06: 09: 33.221Z","AM-ACCESS-РЕЗУЛЬТАТ", "eb8efbd7-768a-4038-af7f-cd2de423d285-12484", "ID = Vipin, OU = пользователь, о = операторы, НУ = услуги, dc = oneeight, DC = ком " "[" "d02fa012-ddff-40A1-ba83-3de3de2e18d6"", "" 69b85d3a-7ee8-4f01-a259-0ae26bfec634 ""] "" 192.168.1.77 "," 8080 "," 192.168.1.148 "," 57122 ",,,," false "," POST "," http://openam13.oneeight.com:8080/openam/oauth2/access_token "," {" "область"":[""Операторы""]}","{""хозяин"":[""openam13.oneeight.com:8080""],""user-agent"":[""Go- http-client / 1.1 ""]} "," {} ",," SUCCESSFUL ",," {"" scope "": "" uid openid profile "", "" token_type "": "" Bearer ""} ", "216", "миллисекунды","OAuth","/ Операторы"

1 ответ

Решение

Ключевая часть этой ошибки Error getting user info: {\"error_description\":\"The access token provided is expired, revoked, malformed, or invalid for other reasons.\",\"error\":\"invalid_token\"}, Это означает, что графана не может получить информацию о пользователе из OpenAM, потому что она отказывается от токена.

Первое, что я бы порекомендовал, это проверить журналы OpenAM и посмотреть, дает ли он вам больше информации о том, почему он отклонил токен. Другая вещь, которую вы можете захотеть проверить, это то, что у вас правильно настроены области в конфигурации grafana, и что ваши api_url настройка правильная.

Глядя на документацию, кажется, что конфигурация должна быть

scopes = openid email profile
auth_url = https://openam.example.com:8443/openam/oauth2/authorize
token_url = https://openam.example.com:8443/openam/oauth2/access_token
api_url = https://openam.example.com:8443/openam/oauth2/userinfo

куда https://openam.example.com:8443 это адрес вашего сервера OpenAM.

Другие вопросы по тегам