[PROPOSAL] standard multivalue parameter mechanism

Dick Hardt dick at sxip.com
Sat Sep 30 23:45:32 UTC 2006

Motivating Use Case
Passing multiple values for the same parameter, or lists is useful  
for the protocol. Having a standard way of doing it will make it  
easier for implementors and less prone to error. openid.signed takes  
a list, and openid.ax.required and openid.ax.if_available apply to  
zero or more items.

Given that multiple parameters is not desired due to 1) the  
enumerated list for what was signed cannot have multiple values, and  
2) a number of web application platforms are allergic to multiple  
parameters of the same name, putting multiple values in the same  
parameter separated by a delimiter is the other obvious option.

Proposed Implementation
Given that the comma "," is already being used as a delimiter for  
openid.signed, that a comma be considered the delimiter for any  
OpenID parameter.

The comma would then be an escape character in all OpenID strings,  
and that if a comma is in a string, that it is escaped out with  
another comma as such ",," ie. the string "Apt. 123, 55 Sesame St."  
would be "Apt. 123, 55 Sesame St."

... suggestions for other delimiting mechanisms welcome!

-- Dick

More information about the specs mailing list