Почему я получаю 401 на OAuth и ADAL.JS с AD FS 2016 - PullRequest
0 голосов
/ 03 марта 2019

Я слежу за https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/development/single-page-application-with-ad-fs и клонирую код из github, а также выполняю все шаги по созданию группы приложений в ADFS и внесению изменений в код.Он работает нормально, и, нажимая на кнопку «Войти» или пытаясь зайти на страницу списка Todo, я попадаю на страницу входа в ADFS, а затем перенаправляет меня обратно на страницу приложения, но когда я пробую страницу «Todo List», она дает мне {"Message":"Authorization has been denied for this request."}.Проверил сетевой трафик в инструментах разработчика Chrome (а также в Fiddler) и запрос к TodoList (URL-адрес запроса: https://localhost:44326/api/TodoList) имеет заголовок авторизации: Авторизация: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Inp41006 *

https://pdc.mkdomain.com:44326/#/UserData показывает следующие результаты:

Id_token content
mohsen@mkdomain.com
aud:https://pdc.mkdomain.com:44326/
iss:https://PDC.mkdomain.com/adfs
iat:1551610099
nbf:
exp:1551613699
ver:
tid:
amr:
oid:
upn:mohsen@mkdomain.com
unique_name:Mohsen@mkdomain.com
sub:JIg5DslCMEyKf8AnKpvNg3XQf+KN58tgOzYEjlZ+WZA=
family_name:
given_name:
pwd_exp:
pwd_url:

В доверительной группе ретранслятора у меня есть:

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
 => issue(store = "Active Directory", 
types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", 
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", 
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", 
"family_name"), 
query = ";displayName,mail,givenName,sn;{0}", param = c.Value);

и в правилах преобразования «Страхование» я имею:

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", 
Issuer == "AD AUTHORITY"]
 => issue(store = "Active Directory", 
types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", 
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", 
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", 
"http://schemas.xmlsoap.org/claims/Group", 
"http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"), 
query = ";mail,givenName,sn,tokenGroups(SID),sAMAccountName;{0}", 
param = c.Value);

1 Ответ

0 голосов
/ 04 марта 2019

Я обнаружил, что проблема была в ida: значение эмитента было строчным, а имя машины - заглавнымКак только я изменил его с pdc.MKDOMAIN.com/adfs на PDC.MKDOMAIN.com/adfs, все заработало.

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