当前位置:首页 » 安卓系统 » oauthandroid

oauthandroid

发布时间: 2022-07-21 22:07:36

Ⅰ android 人人网开发有 oauth1.0吗

没有。。人人网一开始OAuth的时候就做的2.0,之前也没有1.0的。。
这一票开放平台都有SDK呀。。想要自己弄看SDK都可以的。。。

Ⅱ android版的话oauth授权获取到access token后怎样和登录用户一起保存

1、第一次授权时,可以把token和secret保存在SharedPreferences或SQLite数据库。下次登录检查先读取检查。
2、在网络中搜“ppy2790博客”,有新浪微博Android开发项目,源代码,OAuth认证详细讲解。

Ⅲ Android App如何使用OAuth 2.0进行登陆的

android app需要到新浪开放平台去添加你的应用信息,然后获得相对应的appkey和appsecret(在授权的时候会用到appkey),那个redirect_url就在上面那位同学指定的页面进行设置“授权回调页”,在文档中心下载android sdk,官方指定的地址好像已经没有资源了,你可以在github中搜索weibo_android_sdk找到其他开发者上传的资源,然后根据它给的api一步一步来就可以了。另外那个问题不太清楚~

Ⅳ android支付宝支付怎么设置应用网关和应用公钥

1.下载官方架包和说明文档
其实官方已经提供了安装指南,
里面有有个pdf,详细说明了说用指南,写的比较详细,可以重点参考。

下载下来,我们主要是用到Android(20120104)目录下的alipay_plugin.jar和AppDemo/assets下的alipay_plugin223_0309.apk,这两个文件是我们不能修改的支付宝api和安装包。
2. 商户签约
现在的安全机制,都是这样,客户端需要先和服务端请求验证后才能进行进一步操作,oauth也是如此。
打开登陆支付宝,点击签约入口,选择"应用类产品",填写并等待审核,获取商户ID和账户ID。
签约的时候还要向需要提供实名认证和上传应用,所以我建议先把应用做好了,最后再集成支付宝。
我大概等了1-2天审核,审核是失败的,回复是应用类型啥的应该是"虚拟货币",我改成那个马上自动就审核通过了。

3.密钥配置
解压openssl-0.9.8k_WIN32(RSA密钥生成工具).zip,打开cmd,命令行进入openssl-0.9.8k_WIN32(RSA密钥生成工具)\bin目录下,
(1).执行
openssl genrsa -out rsa_private_key.pem 1024

生成rsa_private_key.pem文件。
(2).再执行
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

生成rsa_public_key.pem 文件。
(3).在执行
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

将RSA私钥转换成 PKCS8 格式,去掉begin和end那两行,把里面的内容拷贝出来,保存到某个txt中,如rsa_private_pkcs8_key.txt中(我好像没用到这个)。
打 开rsa_public_key.pem,即商户的公钥,复制到一个新的TXT中,删除文件头”-----BEGIN PUBLIC KEY-----“与文件尾”-----END PUBLIC KEY-----“还有空格、换行,变成一行字符串并保存该 TXT 文件,然后在网站的“我的商家服务”切换卡下的右边点击“密钥管理”,然后有个"上传商户公钥(RSA)"项,选择上传刚才的TXT文件.
好了,服务器配置OK,因为这一段之前没有截图,现在弄好了又不好截图,如果有不明白的地方请大家参考官方文档。
4.引用jar和包含安装包
(1).新建android工程;
(2).上面说的alipay_plugin.jar到工程的libs目录下,并在java build path中通过Add External JARs找到并引用该jar;
(3).上面说的alipay_plugin223_0309.apk安装包到assets目录下,后面配置路径用到。
\
如果libs和assets目录没有,手动建立者两个目录。
5.调用代码整理
这里我们要严重的参考文档中AppDemo,我们建一个包 com.tianxia.lib.baseworld.alipay,把AppDemo的com.alipay.android.appDemo4包下的 源码全部到刚才我们自己的包下,还有res目录下的资源文件也合并到我们工程res下。
其中AlixDemo.java,ProctListAdapter.java,Procts.java是示例类,我们借鉴完后可以删除。
PartnerConfig.java是配置类,配置商户的一些配置参数。
其他的类是严重参考类,直接留下使用。
PartnerConfig.java代码如下:
public class PartnerConfig { //合作商户ID。用签约支付宝账号登录ms.alipay.com后,在账户信息页面获取。 public static final String PARTNER = "xxx"; //账户ID。用签约支付宝账号登录ms.alipay.com后,在账户信息页面获取。 public static final String SELLER = "xxx"; //商户(RSA)私钥 ,即rsa_private_key.pem中去掉首行,最后一行,空格和换行最后拼成一行的字符串 public static final String RSA_PRIVATE = "xxx"; //支付宝(RSA)公钥 用签约支付宝账号登录ms.alipay.com后,在密钥管理页面获取。 public static final String RSA_ALIPAY_PUBLIC = "xxx"; //下面的配置告诉应用去assets目录下找安装包 public static final String ALIPAY_PLUGIN_NAME ="alipay_plugin223_0309.apk";}

AlixDemo中代码是最终的调用代码在onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {}中,下面我们提取其中的核心代码。
6.提取核心调用代码
在AlixDemo.java同目录下新建AlixPay.java,来提取AlixDemo.java的核心代码:
package com.tianxia.lib.baseworld.alipay;import java.net.URLEncoder;import java.text.SimpleDateFormat;import java.util.Date;import com.tianxia.lib.baseworld.R;import android.app.Activity;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Handler;import android.os.Message;import android.view.KeyEvent;import android.widget.Toast;public class AlixPay { static String TAG = "AlixPay"; private Activity mActivity; public AlixPay(Activity activity) { mActivity = activity; } private ProgressDialog mProgress = null; // the handler use to receive the pay result. private Handler mHandler = new Handler() { public void handleMessage(Message msg) { try { String strRet = (String) msg.obj; switch (msg.what) { case AlixId.RQF_PAY: { closeProgress(); BaseHelper.log(TAG, strRet); try { String memo = "memo="; int imemoStart = strRet.indexOf("memo="); imemoStart += memo.length(); int imemoEnd = strRet.indexOf(";result="); memo = strRet.substring(imemoStart, imemoEnd); ResultChecker resultChecker = new ResultChecker(strRet); int retVal = resultChecker.checkSign(); if (retVal == ResultChecker.RESULT_CHECK_SIGN_FAILED) { BaseHelper.showDialog( mActivity, "提示", mActivity.getResources().getString( R.string.check_sign_failed), android.R.drawable.ic_dialog_alert); } else { BaseHelper.showDialog(mActivity, "提示", memo, R.drawable.infoicon); } } catch (Exception e) { e.printStackTrace(); BaseHelper.showDialog(mActivity, "提示", strRet, R.drawable.infoicon); } } break; } super.handleMessage(msg); } catch (Exception e) { e.printStackTrace(); } } }; // close the progress bar void closeProgress() { try { if (mProgress != null) { mProgress.dismiss(); mProgress = null; } } catch (Exception e) { e.printStackTrace(); } } public void pay() { MobileSecurePayHelper mspHelper = new MobileSecurePayHelper(mActivity); boolean isMobile_spExist = mspHelper.detectMobile_sp(); if (!isMobile_spExist) return; if (!checkInfo()) { BaseHelper.showDialog(mActivity, "提示", "缺少partner或者seller,", R.drawable.infoicon); return; } try { // prepare the order info. String orderInfo = getOrderInfo(); String signType = getSignType(); String strsign = sign(signType, orderInfo); strsign = URLEncoder.encode(strsign); String info = orderInfo + "&sign=" + "\"" + strsign + "\"" + "&" + getSignType(); // start the pay. MobileSecurePayer msp = new MobileSecurePayer(); boolean bRet = msp.pay(info, mHandler, AlixId.RQF_PAY, mActivity); if (bRet) { // show the progress bar to indicate that we have started paying. closeProgress(); mProgress = BaseHelper.showProgress(mActivity, null, "正在支付", false, true); } else ; } catch (Exception ex) { Toast.makeText(mActivity, R.string.remote_call_failed, Toast.LENGTH_SHORT).show(); } } private boolean checkInfo() { String partner = PartnerConfig.PARTNER; String seller = PartnerConfig.SELLER; if (partner == null || partner.length() <= 0 || seller == null || seller.length() <= 0) return false; return true; } // get the selected order info for pay. String getOrderInfo() { String strOrderInfo = "partner=" + "\"" + PartnerConfig.PARTNER + "\""; strOrderInfo += "&"; strOrderInfo += "seller=" + "\"" + PartnerConfig.SELLER + "\""; strOrderInfo += "&"; strOrderInfo += "out_trade_no=" + "\"" + getOutTradeNo() + "\""; strOrderInfo += "&"; //这笔交易价钱 strOrderInfo += "subject=" + "\"" + mActivity.getString(R.string.donate_subject) + "\""; strOrderInfo += "&"; //这笔交易内容 strOrderInfo += "body=" + "\"" + mActivity.getString(R.string.donate_body) + "\""; strOrderInfo += "&"; //这笔交易价钱 strOrderInfo += "total_fee=" + "\"" + "10.00" + "\""; strOrderInfo += "&"; strOrderInfo += "notify_url=" + "\"" + "http://notify.java.jpxx.org/index.jsp" + "\""; return strOrderInfo; } // get the out_trade_no for an order. String getOutTradeNo() { SimpleDateFormat format = new SimpleDateFormat("MMddHHmmss"); Date date = new Date(); String strKey = format.format(date); java.util.Random r = new java.util.Random(); strKey = strKey + r.nextInt(); strKey = strKey.substring(0, 15); return strKey; } // get the sign type we use. String getSignType() { String getSignType = "sign_type=" + "\"" + "RSA" + "\""; return getSignType; } // sign the order info. String sign(String signType, String content) { return Rsa.sign(content, PartnerConfig.RSA_PRIVATE); } // the OnCancelListener for lephone platform. static class AlixOnCancelListener implements DialogInterface.OnCancelListener { Activity mcontext; AlixOnCancelListener(Activity context) { mcontext = context; } public void onCancel(DialogInterface dialog) { mcontext.onKeyDown(KeyEvent.KEYCODE_BACK, null); } }}

这个类的pay方法就是支付的方法,最简单的不设置的话,调用方法如下:
AlixPay alixPay = new AlixPay(SettingTabActivity.this);alixPay.pay();

Ⅳ 安卓开发 oauth2.0怎样获取到code

在用户没有关注的情况下,还是会产生一个与公众号对应的openid,可以根据这个openid和基础支持的access_token(不是用code换取的access_token)获取到用户的基本信息 用户信息中的subscribe 是为0的,表示没有关注。

Ⅵ oauth2.0适用的最低android版本是什么

oauth2.0只是http的请求方法规范, 和android版本没任何关系

Ⅶ android客户端怎么发送oauth2.0认证

将下载后的项目导入Eclipse空间后,首先修改config.properties文件,在Config.properties里 client_ID :appkey 创建应用获取到的appkey client_SERCRET :app_secret 创建应用获取到的appsecret redirect_URI :回调地址 OAuth2的回调地址。回调地址在官方的使用方法中说明不是很明确,对应的应用回调页可在开发者登陆新浪微博开发平台之后, 进入我的应用--应用详情--应用信息--高级信息--授权设置--应用回调页进行设置和查看, 应用回调页不可为空。修改后如下:
[plain] view plain

client_ID = 3267310683
client_SERCRET =
baseURL=http://api.weibo.com/2/
redirect_URI=http://blog.csdn.net/junjunguoguo
accessTokenURL=http://api.weibo.com/oauth2/access_token
authorizeURL=http://api.weibo.com/oauth2/authorize
然后打开weibo4j.examples.oauth2包下的OAuth4Code.java

[java] view plain

public class OAuth4Code {
public static void main(String [] args) throws WeiboException, IOException{
Oauth oauth = new Oauth();
BareBonesBrowserLaunch.openURL(oauth.authorize("code"));
System.out.println(oauth.authorize("code"));
System.out.print("Hit enter when it's done.[Enter]:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String code = br.readLine();
Log.logInfo("code: " + code);
try{
System.out.println(oauth.getAccessTokenByCode(code));
} catch (WeiboException e) {
if(401 == e.getStatusCode()){
Log.logInfo("Unable to get the access token.");
}else{
e.printStackTrace();
}
}
}

运行后会弹出浏览器地址跳转到授权认证页面

Ⅷ 求画质清晰的[Android开发视频教程]04_02_OAuth认证原理种子下载,谢恩公!

[Android开发视频教程]04_02_OAuth认证原理种子下载地址:

Ⅸ 最近在弄新浪微博oauth2.0认证的东西android的,只能输入一次用户名和密码,我想每次都可以重新登录怎么办

在你的程序退出的时候调用它的退出登录接口,你不退出的话在session允许的时间内再次连接是不需要登录的。

Ⅹ android下 新浪微博的OAuth认证的实例。谢谢

Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称

热点内容
tomcat编译后的文件 发布:2025-01-23 06:05:46 浏览:253
惠普畅游人14是什么配置表 发布:2025-01-23 05:57:39 浏览:295
简单搭建ftp服务器 发布:2025-01-23 05:49:41 浏览:227
有qq号没密码如何登上 发布:2025-01-23 05:34:08 浏览:469
javajsdes加密 发布:2025-01-23 05:33:21 浏览:770
qq怎么上传视频到电脑上 发布:2025-01-23 05:07:27 浏览:972
如何申请i7服务器地址 发布:2025-01-23 04:42:15 浏览:848
浏览器内核源码 发布:2025-01-23 04:41:34 浏览:662
精英版缤智少了些什么配置 发布:2025-01-23 04:41:30 浏览:359
编写c编译器 发布:2025-01-23 04:41:30 浏览:971