/ / Необходимост от прилагане на OAuth 2.0 в ASP.NET App - asp.net, oauth-2.0, azure-active-directory

Нуждаете се от ръководство Внедряване на OAuth 2.0 в приложението ASP.NET - asp.net, oauth-2.0, azure-active-directory

Създал съм ASP.NET приложение и Azure-AD домейн. В момента имам авторизацията ASP.NET, настроена да удари wsfed крайната точка в Azure-AD. Всичко работи добре, но проблемът е, че това издава SAML маркер и имам нужда от JWT. От това, което съм прочел след много търсене в интернет, трябва да удостоверявам до крайната точка OAuth 2.0 на моя Azure-AD домейн. Проблемът с това е, че с всичко конфигурирано така, каквото е, винаги се връщам на 400 от тази крайна точка, вероятно защото конфигурационният ми файл е настроен за захранване. Моят въпрос е как да конфигурирам моето приложение ASP.NET, така че да може да говори с крайната точка OAuth 2.0 на моя Azure-AD домейн?

Трябва да използвам пасивно удостоверяване.

Отговори:

1 за отговор № 1

Azure AD поддържа OAuth2.0 поток, който можете да изпълните, след като потребителят е влязъл с пасивно удостоверяване, за да получи токени за достъп, за да осъществяват делегирани повиквания към WebAPI от името на потребителя. Можете да използвате библиотеката за удостоверяване на Active Directory (ADAL SDK), за да изпълните потока OAuth. Това примерно приложение прави точно това: http://code.msdn.microsoft.com/AAL-Server-to-Server-9aafccc1

За вашия сценарий обаче Ви препоръчвамеOpenId Connect потока сега, вместо SAML SSO + OAuth. С потока на Azure AD OpenIDConnect, уеб приложението получава SSO токен (JWT id_token), използвайки който се регистрира в потребителя, и също така получава код за автентичност (OAuth auth код), който може да осребрява за маркер за достъп (JWT токен за достъп) за достъп до WebAPI от името на потребителя. Azure AD предоставя OWIN компонент, който прави това. Тази примерна програма трябва да ви вижда чрез: https://github.com/AzureADSamples/WebApp-WebAPI-OpenIDConnect-DotNet

Накрая се обърнете към тази помощна тема, за да намерите всички потоци за удостоверяване, поддържани и препоръчани от Azure AD за вашите уеб приложения / API и Rich-Client / Mobile Apps: http://msdn.microsoft.com/en-us/library/azure/dn499820.aspx

Надявам се това да помогне