IdentityServer4 и Tableau Server OpenID авторизация - PullRequest
1 голос
/ 30 марта 2019

Я пытаюсь получить авторизацию для работы с IdentityServer4 с сервера Tableau с OpenID, и мне не везет.У меня есть клиент IdentityServer4, настроенный для поддерживаемого потока кода авторизации OpenID, и я могу выполнить первые несколько шагов перенаправления на страницу входа в IdentityServer, успешно войти в систему, принять типы заявок, а затем при перенаправлении обратно в Таблицу я получаю User could not be foundошибка.Я использую тестового пользователя в памяти (bob), который поставляется с установкой IdentityServer и создал именно этого пользователя и адрес электронной почты в Таблице.

Мой клиент выглядит следующим образом:

new Client
   {
       ClientId = "tableau",
       ClientSecrets =
       {                       
           new Secret("[my secret]", "tableau.secret")
           {
               Type = SecretTypes.SharedSecret
           },                       
       },

       AllowedGrantTypes = GrantTypes.CodeAndClientCredentials,
       AllowAccessTokensViaBrowser = true,
       AccessTokenType = AccessTokenType.Jwt,
       RedirectUris = { "http://[tableuServer]/vizportal/api/web/v1/auth/openIdLogin" },
       AllowOfflineAccess = true,

       AllowedScopes =
       {
           IdentityServerConstants.StandardScopes.OpenId,
           IdentityServerConstants.StandardScopes.Profile,
           IdentityServerConstants.StandardScopes.Email,
           IdentityServerConstants.StandardScopes.Phone,
           IdentityServerConstants.StandardScopes.Address
       }
   },

Я действительно надеюсь, что кто-то уже получил эту работу и может поделиться работающим клиентом или изменениями, которые мне нужно внести.Этот IdentityServer работает для 3 других типов клиентов, поэтому я знаю, что у меня это хорошо получается.

1 Ответ

0 голосов
/ 15 апреля 2019

Похоже, таблица не может идентифицировать пользователя. Проверьте любое несоответствие между именем пользователя в Таблице и Identity Server. Identity Server отправляет уникальный идентификатор пользователя (утверждение sub в IDToken) в IDToken. Эта подпретензия в IDToken используется для идентификации пользователя в Таблице. Несколько ссылочных ссылок: https://onlinehelp.tableau.com/current/server/en-us/openid_auth_troubleshooting.htm https://onlinehelp.tableau.com/current/server/en-us/openid_auth_signing_in.htm

...