2012-02-21 2 views
1

Я интегрирую службу OData с ACS. Все работает нормально, но когда я получаю токен в значении заголовка авторизации, зашифрован. Пример (это уже URL-декодируется):Значение требования к расшифровке токена SWT

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name=mYuAaeTWh6vbXFGCMZPqeTm5dpPnq8e3MaB2cmiwBWQ=&http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier=mYuAaeTWh6vbXFGCMZPqeTm5dpPnq8e3MaB2cmiwBWQ=&http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider=uri:WindowsLiveID&Audience=owl:service&ExpiresOn=1329848740&Issuer=https://wk-owl-access.accesscontrol.windows.net/&HMACSHA256=6Anfv5K47I1e+FkwrnA8/5ZIvlnjfUanFZsDB/p/0J0= 

Утверждение, как http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name в зашифрованном виде. Как я могу расшифровать его?

ответ

1

Ваш идентификатор имени не зашифрован, он хэширован. К сожалению, LiveID не выдает никаких претензий пользователей, кроме уникального идентификатора, который хэшируется для каждой аудитории, на которую он выдает токены (в данном случае ACS).

Другие поставщики удостоверений, встроенные в ACS, предъявляют претензии, но для получения заявок от LiveID я считаю, что вам нужно будет использовать новый API REST Live Connect http://msdn.microsoft.com/en-us/library/live/hh243648.aspx. К сожалению, этот API входа в LiveID еще не интегрирован с ACS, вы бы взаимодействовать с ним напрямую.

Интересно, что ваши требования к имени и названию являются одинаковыми. У вас есть правило в ACS для вывода идентификатора identID, выданного в формате liveID, в качестве заявки на имя?

+0

Спасибо, Андрей! Вы правы, я создал правило ACS, чтобы скопировать идентификатор имени, чтобы назвать – Glaxalg

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