Парольный вход с использованием openID в android

Я новичок в разработке Android. Мой проект состоит в том, чтобы сделать приложение, используя открытый API, но я не мог понять, как разрешить пользователю входить в систему с использованием паровой учетной записи.

В документации API веб-интерфейса Steam говорится, что я должен использовать openID, поэтому я искал alot, чтобы найти пример реализации openID в приложении andorid, но это единственный пример, который я нашел, и он не работает, webView просто получается пустым.

Я просто хочу, чтобы пользователь нажал кнопку входа в систему, которая запускает webView, где он может войти в систему, а затем вернуть свой идентификатор пара.

Поэтому мой вопрос:

  1. Есть ли способ реализовать openID-вход в android?
  2. Если нет, есть ли способ разрешить пользователю войти в пар?

Думаю, я обнаружил какое-то обходное решение.

Пара openid может использоваться с запросом 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/ 

Где REALM_PARAM – это веб-сайт, который будет отображаться на экране входа в систему. Также пользователь будет перенаправлен на этот веб-сайт после завершения аутентификации, его фактически не существует. Все, что вам нужно было сделать после этого, проанализировать новый URL-адрес для идентификатора пользователя.

Поэтому я использовал что-то вроде этого

 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); } }