Solución:
Creo que descubrí una especie de solución, supongo.
Steam openid se puede usar con una solicitud de URL como esta:
https://steamcommunity.com/openid/login?
openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select&
openid.identity=http://specs.openid.net/auth/2.0/identifier_select&
openid.mode=checkid_setup&
openid.ns=http://specs.openid.net/auth/2.0&
openid.realm=https://REALM_PARAM&
openid.return_to=https://REALM_PARAM/signin/
donde REALM_PARAM es el sitio web que aparecerá en la pantalla de inicio de sesión. Además, el usuario será redirigido a ese sitio web después de que se complete la autenticación, no es necesario que exista realmente. Todo lo que tuvo que hacer después de eso es analizar la nueva URL para la identificación de usuario.
Entonces usé algo como esto
public class LoginActivity extends ActionBarActivity {
// The string will appear to the user in the login screen
// you can put your app's name
final String REALM_PARAM = "YourAppName";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final WebView webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
final Activity activity = this;
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url,
Bitmap favicon) {
//checks the url being loaded
setTitle(url);
Uri Url = Uri.parse(url);
if(Url.getAuthority().equals(REALM_PARAM.toLowerCase())){
// That means that authentication is finished and the url contains user's id.
webView.stopLoading();
// Extracts user id.
Uri userAccountUrl = Uri.parse(Url.getQueryParameter("openid.identity"));
String userId = userAccountUrl.getLastPathSegment();
// Do whatever you want with the user's steam id
});
setContentView(webView);
// Constructing openid url request
String url = "https://steamcommunity.com/openid/login?" +
"openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select&" +
"openid.identity=http://specs.openid.net/auth/2.0/identifier_select&" +
"openid.mode=checkid_setup&" +
"openid.ns=http://specs.openid.net/auth/2.0&" +
"openid.realm=https://" + REALM_PARAM + "&" +
"openid.return_to=https://" + REALM_PARAM + "/signin/";
webView.loadUrl(url);
}
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)