Как я могу проверить токен OpenId в C #? - PullRequest
1 голос
/ 22 июля 2010

Я пытаюсь проверить, используя следующие параметры:

"openid.mode = check_authentication"
+ "& openid.assoc_handle =" + txtAssocHandle.Text
+ "& openid.response_nonce =" + HttpUtility.UrlEncode (txtNonce.Text)
+ "& openid.op_endpoint =" + txtEndpoint.Text
+ "& openid.sig =" + txtSignature.Text
+ "& openid.signed = mode, identity, return_to";

и возвращается

is_valid ложь нс: http://specs.openid.net/auth/2.0

что я здесь не так делаю? поля txt заполняются значениями ответов для входа в систему

1 Ответ

0 голосов
/ 22 июля 2010

Ваш аргумент openid.signed должен быть именно тем, что OP отправил вашему RP, а не этим неполным жестко запрограммированным списком из 3 параметров, с одной стороны. Все ваши аргументы должны быть также закодированы URL, а не только ваш nonce.

Проверка токена OpenID намного больше, чем просто отправка его обратно в OP с использованием «тупого режима». Что ты пытаешься сделать?

Рассматривали ли вы использование библиотеки OpenID ? Серьезно, правильно выбрать OpenID (что означает безопасность и совместимость) - большая работа. Гораздо больше, чем просто сбор правильной строки запроса. :)

...