我想我发现有一种解决方法.

蒸汽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是将出现在登录屏幕上的网站,此外,用户在身份验证完成后将被重定向到该网站,不需要真正存在.

所有你需要做的是解析用户id的新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);

}

}

openid php steam,在Android中使用openID进行Steam登录相关推荐

  1. 微信openid 服务器备案,微信生态中的 openId、unionID和业务系统中的ID

    在进行微信生态相关的开发的时候,经常会遇到一个术语:openID.openID 在微信生态下几乎无处不在:你想要识别用户身份?需要 openID 你需要给用户推送消息?需要 openID 除了 ope ...

  2. Android中实现帐号密码登录及进行内存缓存逻辑(仿QQ)

    编写不易,如有转载,请声明出处:http://blog.csdn.net/zxc514257857/article/details/69219113 Demo效果展示如下: 布局代码如下: //(la ...

  3. 在onelogin中使用OpenId Connect Implicit Flow

    文章目录 简介 OpenId Implicit Flow 创建onelogin的配置 页面的运行和请求流程 关键代码 总结 简介 onelogin支持多种OpenId Connect的连接模式,上一篇 ...

  4. 在onelogin中使用OpenId Connect Authentication Flow

    文章目录 简介 OpenId Connect和Authentication Flow简介 onelogin的配置工作 使用应用程序连接onelogin 程序中的关键步骤 总结 简介 onelogin是 ...

  5. 微信公众号H5页面中获取openId

    必要条件 已经认证的公众号(企业号可以,个人号是不能绑定H5的) https认证域名,没有认证的域名微信中不能配置回调地址 微信公众平台认证通过,并创建app 步骤 获取code (需要配置选取sco ...

  6. H5在微信中获取openid

    H5在微信中获取openid 为什么要获取openid openId是用户在当前公众号下的唯一标识('身份证').在微信中进行微信分享.支付等操作时需要用户的openid.H5要在微信中获取到用户op ...

  7. Android中实现为TextView添加多个可点击的文本

    这篇文章主要介绍了Android中实现为TextView添加多个可点击的文本,可实现类似Android社交软件显示点赞用户并通过用户名称进入该用户主页的功能,是非常实用的技巧,需要的朋友可以参考下.具 ...

  8. android 弹出fragment,Android中ViewPager获取当前显示的Fragment

    前言 在项目中,有时会用到在ViewPager中显示同样类型的Fragment,同时这样的Fragment的个数是动态的,但是PagerAdapter没有给我们提供getCurrentFragment ...

  9. android 读取内部存储文件格式,Android中的数据储存之文件存储

    当我们在使用各种程序时,其实际上是在和各种数据打交道,当我们聊QQ,刷微博,看新闻,其实都是在和里面的数据交互 例如在聊天时发出的消息,以及在登录时输入的账号密码,其实都是瞬时数据,那什么是瞬时数据呢 ...

  10. android中一种不支持的lua操作

    今天写了一段lua代码,在win32中正常运行,在android中运行无效. 大概是这样的: ------file1.lua----- local t = {} t.str = "this ...

最新文章

  1. TabLayout属性详解
  2. 【模板篇】数论大杂烩~
  3. arma模型谱估计matlab_基于机器学习的心律失常分类(四)——心电信号特征提取[MATLAB]...
  4. 在网站中使用Cookie的简单例子
  5. rhel6.3日志服务器rsyslog搭建过程;
  6. mysql grant 用户权限
  7. canvas绘制经典星空连线效果
  8. 联想Y580黑苹果安装
  9. 十款免费数据恢复软件
  10. QT应用编程: 获取系统当前时间以及1970到现在的总秒数
  11. 苹果设计思维案例研究,困难期生存的关键
  12. android 什么是有权查看使用情况的应用程序
  13. 【数字图像处理】前期准备工作,库的安装(skimage库的安装!)
  14. iOS开发特殊日期灰色界面的实现
  15. 1.2帮助软件Rstudio的下载与安装
  16. h5活动是什么意思_H5页面到底是什么?
  17. Redis 的 Sentinel 系统
  18. 鸟哥的Linux私房菜视频!
  19. java 下载junit的jar包_junit4下载-Junit4.11完整包【附使用方法】-东坡下载
  20. 腾讯安全“护航舰”亮相网安周,数实融合共筑产业安全防线

热门文章

  1. 如何打造微信公众号管理系统
  2. 智能语音机器人帮你解决订餐服务
  3. Table ‘xxx‘ is specified twice, both as a target for ‘UPDATE‘ and as a separate source for data
  4. 新浪微博与微信公众号开发总结
  5. python画立体地球_如何在Python中绘制3D地球?
  6. 法大大完成3.98亿元C轮融资,虎环球基金和腾讯联合领投...
  7. 一份网站的商业计划书内容概要
  8. 2022-2028年全球与中国细菌生物农药行业市场深度调研及投资预测分析
  9. 关于电子计算机的热点,计算机如何成为热点? 8台计算机wifi热点软件推荐
  10. 西南大学计算机科学学院官网,西南大学计算机与信息科学学院研究生导师简介-李艳涛...