소비자의 complete() 메소드를 호출 할 때 "[openid identifier]를 발견 한 후 일치하는 끝 점이 없습니다"오류가 발생합니다.Python OpenID 오류 : [uri]를 (를) 발견 한 후 일치하는 끝점을 찾을 수 없습니다.
재미있는 점은 필자가 테스트 한 4 개의 OpenID 공급자 중에서 LiveJournal에서만 관찰 된 것입니다. 문제를 조사하고 수정하기 위해 어떤 단계를 제안 할 수 있습니까?
store = FileOpenIDStore("/path/to/store")
def login(req, uri):
req.content_type = "text/html"
session = Session.Session(req)
consumer = Consumer(session, store)
auth = consumer.begin(uri)
util.redirect(req, auth.redirectURL("http://example.com", "http://example.com/authtest.py?sid=" + session.id()))
return
def index(req, sid):
req.content_type = "text/html"
c = Consumer(Session.Session(req, sid), store)
args = req.args.split("&")
arg_dict = {}
for i in range(0, len(args)):
x, y = args[i].split("=")
arg_dict[x] = unquote(y)
v = c.complete(arg_dict, "http://example.com/authtest.py?" + req.args)
if v.status == 'failure':
return v.message
else:
return v.status
내가 가진 oidutil.log 사용 openID 라이브러리가 LJ가 사용하는 것으로 보이는 OpenID 1.0을 확인하지 않는다는 것을 알았습니다. 1.0 처리를위한 코드가있을 것임에도 불구하고 1.1 만 확인합니다. 조사 중입니다. – dpq
나는 그것을 고쳤다. http://trac.openidenabled.com/trac/ticket/162에 따라, consumer.py에서 _discoverAndVerify 메소드는 불일치가 발생할 경우 DiscoveryFailure를 발생시키기 때문에 986 행은'except (DiscoveryFailure, TypeURIMismatch) :'와 같이 보일 것입니다. 올바른 방향으로 나를 가리켜 주셔서 감사합니다 :) – dpq
허. 고니는 그 티켓을'worksforme'으로 마감했습니다. 그리고 그것은 나에게도 효과가있다. 나는 거기에서 무슨 일이 일어나고 있는지 궁금해. – keturn