login de vapor con openID en android

Iam nuevo al desarrollo androide. mi proyecto es hacer una aplicación usando API pública de vapor, pero no pude averiguar cómo permitir que el usuario de inicio de sesión con cuenta de vapor.

La documentación de la API de Steam en Internet afirma que debo usar openID, así que busqué mucho para encontrar un ejemplo implementando openID en una aplicación andorid, pero este es el único ejemplo que encontré y no funciona.

sólo quiero que el usuario haga clic en un botón de inicio de sesión que desencadena un webView donde el usuario puede iniciar sesión y luego obtener su ID de vapor de nuevo.

así que mi pregunta es

  1. ¿Hay una manera de implementar el inicio de sesión de openID en android?
  2. De no ser así, ¿de todos modos permitiría al usuario conectarse al Steam?

Creo que he descubierto algún tipo de solución, supongo.

El steam openid se puede utilizar con una url request 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 una vez completada la autenticación, no tiene que existir realmente. Todo lo que tenía que hacer después de que se analizar la nueva url para el ID de usuario.

Así que he usado 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); } } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.