當前位置:首頁 » 安卓系統 » 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平台的開源手機操作系統的名稱

熱點內容
tplink無internet訪問 發布:2025-01-23 03:15:18 瀏覽:566
原神用安卓手機玩為什麼畫質那麼低 發布:2025-01-23 03:09:31 瀏覽:847
空調壓縮機是外機嗎 發布:2025-01-23 03:09:31 瀏覽:950
大學資料庫學 發布:2025-01-23 02:54:30 瀏覽:588
部隊營區監控系統錄像存儲多少天 發布:2025-01-23 02:49:26 瀏覽:523
oraclelinux用戶名和密碼 發布:2025-01-23 02:43:06 瀏覽:404
安卓手機主頁滑動屏幕怎麼設置 發布:2025-01-23 02:41:15 瀏覽:225
小臉解壓 發布:2025-01-23 02:24:17 瀏覽:368
網易電腦版我的世界布吉島伺服器 發布:2025-01-23 02:20:17 瀏覽:985
xlc編譯選項 發布:2025-01-23 02:11:25 瀏覽:721