У меня есть веб-сайт Azure, для которого требуется аутентификация ACSv2, которую я хочу получить из приложения winforms. Многие из моих клиентов используют Windows XP, поэтому я не могу использовать WIF (который недоступен в Windows XP). Каков наилучший способ получить токен аутентификации для моего веб-запроса в этом случае?Доступ ACS Azure от Winforms
1
A
ответ
1
Для настольных приложений, которые вы можете сделать следующее:
- Получить список поставщиков удостоверений из пространства имен ACS
- отображать их в элементе управления WebBrowser
- После входа пользователя в систему, получить маркер из элемента управления WebBrowser и проанализируйте его.
Это аналогично, если вы хотите использовать ACS в приложении Windows Phone. Я предлагаю вам взглянуть на это сообщение в блоге: Azure ACS on Windows Phone 7. И вот пример кода, который анализирует токен после входа пользователя через элемент управления WebBrowser (на WP7):
private void SignInWebBrowserControl_ScriptNotify(object sender, NotifyEventArgs e)
{
var acsResponse = ACSResponse.FromJSON(e.Value);
RequestSecurityTokenResponse rstr = null;
Exception exception = null;
try
{
string binaryToken = HttpUtility.HtmlDecode(acsResponse.securityToken);
string tokenText = RequestSecurityTokenResponseDeserializer.ProcessBinaryToken(binaryToken);
DateTime expiration = DateTime.Now + TimeSpan.FromSeconds(acsResponse.expires – acsResponse.created);
rstr = new RequestSecurityTokenResponse
{
Expiration = expiration,
TokenString = tokenText,
TokenType = acsResponse.tokenType
};
Смежные вопросы
- 1. Определить роли от Azure ACS
- 2. Настройка ролей Azure ACS
- 3. Как получить симметричный ключ от Azure ACS?
- 4. Azure ACS Credential Confusion
- 5. Azure ACS - реализация лучшей практики
- 6. Azure ACS с сервером ADFS
- 7. Enrich Azure Защитные токены ACS
- 8. Azure AD ACS фильтрует пользователей по группам
- 9. Как защищена аутентификация ACS Azure?
- 10. azure acs authentication in winrt
- 11. Заменить JWT, выданный Azure ACS
- 12. Обновление маркера Azure ACS на Windows Phone
- 13. Доступ к службе WCF, защищенной ACS от javascript
- 14. Azure ACS с веб-сайтом Silverlight
- 15. Есть ли способ получить журналы активности от Azure ACS?
- 16. Как использовать SWT получить информацию пользователя от Azure ACS
- 17. MonoTouch подключения к Azure ACS, Azure SQL/Azure WCF
- 18. ADD Пользовательские претензии в Azure Утверждения ACS
- 19. Azure ACS Set Up in C#
- 20. Ошибка вызова Windows Azure ACS с сертификатом
- 21. Windows Azure ACS с PingIdentity STS
- 22. azure java using ACS filter - как?
- 23. Pass Azure ACS выдал токен клиенту PhoneGap
- 24. Azure ACS custom Identity Provider Single SignOut
- 25. WPF приложение выйти из Azure ACS
- 26. Использование UiWebView и Monotouch с Azure ACS
- 27. Интеграция Windows Azure AD с Windows ACS
- 28. Настройки ACS в Windows Azure cscfg
- 29. Windows phone 8 и Azure AD/ACS
- 30. Поддерживает ли Azure ACS провайдеры OpenID Connect?
Я хотел бы отметить это как ответ. Метод 'ValidateRequest' в обработчике событий' OnAuthenticateRequest' работает корректно, но запрос диспетчеру проверки подлинности на 'Authenticate' с созданным' ClaimsPrincipal' терпит неудачу. Принципал не является аутентификацией, и все шоу прекращается. Я полагаю, что это проблема конфигурации, но я не могу определить источник сбоя. –
Хорошо. Я получил это, чтобы работать. Моя проблема (и я ее не понимаю) заключалась в том, что я отправлял веб-запрос «http: // localhost/contacts/Directory», как в примере, и был отправлен обратный вызов после аутентификации, один раз для этого URL-адреса (который аутентифицирован правильно и один раз для 'http: // localhost/contacts/Directory /', который этого не сделал. Я добавил косую черту в Url, и теперь тест работает. –
Чтобы реализовать это как приложение winforms, мы должны изменить HttpUtility (для кодирования url), расположение хранилища маркеров и использование свойства ObjectViewScripting для веб-браузера для реализации уведомления. –