1.0.1 OpenID cannot find URI in valid rds doc
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
play framework |
Won't Fix
|
Undecided
|
Unassigned | ||
1.0 |
Won't Fix
|
Undecided
|
Unassigned | ||
1.1 |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Attached is a sample OpenID xml/rds file returned by a django/python plugin used in another open source project. The plugin itself I believe can be found @ http://
The attached file works with other OpenID consumers such as Stack Overflow. Jowever if an OpenID resulting in that file is given to a Play! application, Play! returns that authentication failed, without redirecting anywhere.
My somewhat educated guess is that since no LocalID element is provided, the OpenID implementation skips the step where the URI element is parsed. This is shown by the following snippet from OpenID.java:
// Ok we have the XRDS file
server = XPath.selectTex
claimedId = XPath.selectTex
if (claimedId == null) {
claimedId = "http://
} else {
server = XPath.selectTex
}
if (server == null) {
return false;
}
Should the "server = " line not be inside an else block?
Changed in play: | |
status: | New → Won't Fix |
I attached a proposed fix. All it does is move the server assignment outside of an else block and down near the return false; if the server is null.