OpenId
Keywords
- PAPE (Provider Authentication Policy Extension) allows web developers to request other modifications to the flow, such as asking that Google reprompt the user for their password.
Specifications
http://code.google.com/apis/accounts/docs/OpenID.html
Request URL erstellen
package test;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class Main {
public static void main(String... args) throws Exception {
Map<String, String> map = new HashMap<String, String>();
map.put("openid.claimed_id", "http://specs.openid.net/auth/2.0/identifier_select");
map.put("openid.identity", "http://specs.openid.net/auth/2.0/identifier_select");
map.put("openid.return_to", "http://www.claude-glauser.ch/php/printparameters.php");
map.put("openid.realm", "http://www.claude-glauser.ch");
map.put("openid.mode", "checkid_setup");
map.put("openid.ns", "http://specs.openid.net/auth/2.0");
map.put("openid.assoc_handle", "ABCCCC987");
map.put("openid.ns.ax", "http://openid.net/srv/ax/1.0");
map.put("openid.ax.mode", "fetch_request");
map.put("openid.ax.type.email", "http://axschema.org/contact/email");
map.put("openid.ax.type.firstname", "http://axschema.org/namePerson/first");
map.put("openid.ax.type.lastname", "http://axschema.org/namePerson/last");
map.put("openid.ax.required", "email,firstname,lastname");
StringBuilder sb = new StringBuilder();
sb.append("https://www.google.com/accounts/o8/ud?");
Iterator<Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Entry<String, String> first = iterator.next();
sb.append(URLEncoder.encode(first.getKey(), "UTF-8"));
sb.append("=");
sb.append(URLEncoder.encode(first.getValue(), "UTF-8"));
if (iterator.hasNext()) {
sb.append("&");
}
}
System.out.println(sb.toString());
}
}