コンシューマーのcomplete()メソッドを呼び出すと、「[openididentifier]を検出した後に一致するエンドポイントが見つかりません」というエラーが発生します。
面白いことに、私がテストした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