2010-11-26 1 views
1

, 내가 SetCallbackArgument 일부 데이터를 전달해야하지만 문제는 일부 오픈 아이디 제공하는 등 http://pip.verisignlabs.com/ http://clickpass.com/public/username 쿼리 문자열 내 사이트로 리디렉션 이상 2048 문자 및 IIS 처리 할 수 ​​없습니다. 404 - 파일 또는 디렉토리를 찾을 수 없습니다. 리디렉션 오류 원인이 너무 큽니다. 이 경우 어떻게해야합니까?DotNetOpenAuth에서 OpenId 쿼리 길이 문제가 발생합니까? 내가 DotnetOpenAuth를 사용

답변

0

OpenID 사양에는 OpenID 응답이 너무 커서이 문제를 방지하는 데 도움이되는 301 리디렉션 대신 POST 양식을 사용해야한다고 나와 있습니다. 나는 verisign이나 clickpass가 spec의 해당 부분을 무시하고 있는지 여부를 모른다. 그러나 일반적으로 콜백 인수는 이러한 종류의 문제를 피하기 위해 짧게 유지되어야합니다. 콜백 인수가 매우 큰 경우 확실히 콜백 인수가 항상 쿼리 문자열에 있어야하므로 확실히 작동하지 않을 수 있습니다.

일반적으로 사용자가 반환 할 때 많은 양의 데이터를 사용할 수 있도록하려면 db, 사용자 세션 또는 쿠키에 저장할 수 있으며 콜백 인수에 해당 데이터에 대한 작은 참조 만 저장하십시오 .

콜백 인수의 모든 내용은 HTTPS가 모든 용도로 사용되지 않는 경우 사용자, 제 3 자 및 다른 조작자가 검사 할 수 있음을 기억하십시오. DNOA는 콜백 인수에 대한 임의의 변조 보호를 제공하지만 기밀성은 제공하지 않습니다.

관련 문제