Я пытаюсь интегрировать федеративную аутентификацию/единый вход с Sitecore с помощью Identity Server 3. Обратите внимание, что я никоим образом не использую Azure Active Directory.
Я следил за этими страницами: http://blog.baslijten.com/enable-federated-authentication-and-configure-auth0-as-an-identity-provider-in-sitecore-9-0/
а также
https://dhalgara.com/2018/05/01/sitecore-9-integrating-azure-ad-along-with-identity-server-3/
Я полагаю, что я близок к этому, поскольку я могу настроить появление кнопки входа в систему, которая приведет меня к серверу идентификации для аутентификации. Затем я ввожу имя пользователя/пароль, а затем он правильно аутентифицирует и перенаправляет меня обратно на страницу входа в систему Sitecore со следующей ошибкой:
У вас нет доступа к системе. Если вы считаете, что это неправильно, обратитесь к системному администратору.
Я подтвердил, что я аутентифицируюсь и что, когда я перехожу к экрану управления пользователями в Sitecore, я нахожу некоторых пользователей с забавными именами, которые, должно быть, были созданы в процессе входа в систему, о котором я упоминал. Они также не являются частью каких-либо ролей, поэтому я подозреваю, что не могу войти в систему.
Почти на всех сайтах упоминается, что настройка этого блока XML является ключевой:
<transformation type="Sitecore.Owin.Authentication.Services.DefaultTransformation, Sitecore.Owin.Authentication">
<sources hint="raw:AddSource">
<claim name="x" value="y" />
</sources>
<targets hint="raw:AddTarget">
<claim name="something here" value="Sitecore\Developer" />
</targets>
<keepSource>true</keepSource>
</transformation>
Но что это на самом деле означает? Я проверил свой JWT, и у меня нет возвращаемых претензий, таких как «роли» или «http://schemas.microsoft.com/ws/2008/06/identity/claims/role», но нужно ли вообще присваивать моему пользователю роль разработчика? Что должно быть в приведенных выше значениях X/Y и каким должно быть значение «что-то здесь», чтобы мой пользователь получил роль Sitecore\Developer (или какую-то другую роль, которую я хочу)?
Как я могу гарантировать, что когда мой пользователь войдет в систему, я смогу включить его в определенную группу?
Спасибо за помощь.