2014-12-01 4 views
1

У меня есть пользовательские веб-сервисы. В нашем интерфейсном приложении будет выполняться аутентификация. Наш слой промежуточного слоя будет потреблять запросы с маркером-носителем.Как получить информацию о пользователях (а также роли) на основе токена на предъявителя без web-api?

Среднее программное обеспечение должно выяснить, кто из пользователей, предположительно вызывая Graph-api. Промежуточное программное обеспечение не является базовым веб-интерфейсом, а некоторым сторонним инструментом. Все, что у меня есть, это токен и httpContext.

Как я могу проверить токен носителя, который является правильным Как я могу получить информацию о пользователе на Graph Api?

ответ

1

Маркер-носитель должен содержать всю необходимую информацию. Предположим, что этот токен Jwt, вы должны иметь возможность декодировать его и видеть, какие претензии он содержит. Посмотрите на «System.IdentityModel.Tokens.Jwt» пакет nuget. Он содержит класс JwtSecurityTokenHandler, который может быть полезен при анализе токена.

0

Ваш сервисный уровень не должен быть веб-API, чтобы иметь возможность использовать ADAL для получения токенов из Azure Active Directory. Я думаю, что следующие статьи Витторио поможет вам понять, как взаимодействовать с AAD, чтобы иметь возможность говорить с Graph API:

0

Хорошие новости: мы недавно включили функцию «Роли приложений» в Azure AD, используя приложение, которое может объявлять роли, которые могут быть назначены пользователям и группам на портале управления Azure (назначение ролей в Azure AD). И когда пользователь подписывает в приложение, Azure AD включает в себя роли утверждают, в знак однонаправленного (маркер для службы промежуточного слоя в вашем случае)

Читайте об этом здесь: http://blogs.technet.com/b/ad/archive/2014/12/18/azure-active-directory-now-with-group-claims-and-application-roles.aspx

Глубокий пост погружения и видео на функция ролей приложений находится здесь: http://www.dushyantgill.com/blog/2014/12/10/roles-based-access-control-in-cloud-applications-using-azure-ad/

Надеюсь, что это поможет.

Смежные вопросы