我有兩個不同的應用程序,我在後端有用戶數據庫,如果有任何用戶在一個應用程序中登錄,他也可以登錄另一個應用程序,而不必按登錄,就像Facebook一樣,我怎麼能在應用程序中實施SSO?如何在Android應用程序中實現SSO
1
A
回答
0
你可以做到這一點使用Content Provider還您使用Shared preferences
這裏使用共享偏好可以做同樣的是例如: 呼叫用戶時,一個應用程序中記錄此方法。
public void writeSSOInfo(){
SharedPreferences prefs = getSharedPreferences("CheckSSO",Context.MODE_WORLD_READABLE);
SharedPreferences.Editor editor = prefs.edit();
if(userLoggedIn){
editor.putBoolean("isLoggedIn", true);
}else{
editor.putBoolean("isLoggedIn", false);
}
editor.commit();
}
保存在共享內存後,您可以使用下面的方法訪問另一個應用程序中的相同細節。
public void readSSOInfo(){
Context con;
try {
con = createPackageContext("com.app.packagename1", 0);
SharedPreferences pref = con.getSharedPreferences("CheckSSO", Context.MODE_PRIVATE);
dataShared = pref.getBoolean("isLoggedIn", false);
}
catch (Exception e) {
Log.e("Not data shared", e.toString());
}
}
0
我的建議是在您使用任何應用程序登錄後,我會在兩個應用程序之間的SharedPreferences中存儲用戶令牌。然後,在這兩個應用類似這樣的onCreate方法獲得它:
String PACKAGE_NAME = "your.package";
String PREFERENCE_NAME = "user-token";
String USER_TOKEN = "";
try {
myContext = createPackageContext(PACKAGE_NAME,Context.MODE_WORLD_WRITEABLE);
SharedPreferences sharedPrefs = myContext.getSharedPreferences(PREFERENCE_NAME, Context.MODE_WORLD_READABLE);
USER_TOKEN = sharedPrefs.getString(PREFERENCE_NAME, "");
}
catch (NameNotFoundException e) {
e.printStackTrace();
}
然後檢查USER_TOKEN爲空,如果不是我會跳到下一個畫面,並繼續使用相同的身份驗證令牌。
相關問題
- 1. 如何實現openAM SSO到我現有的Web應用程序
- 2. SAML:如何爲Web應用程序實現SSO(單點登錄)
- 3. 如何將asp.net mvc5一起實現Office 365 sso和谷歌應用程序sso?
- 4. 在Android應用程序中實現Leadbolt
- 5. 如何在Android應用程序中實現應用程序空閒超時?
- 6. 如何在我的android應用程序中實現應用程序內購買?
- 7. 在React-Redux應用程序上實現SSO
- 8. 如何使用REST API在android應用程序中實現dropbox
- 9. 如何在android中使用senchatouch實現phonegap應用程序2
- 10. 如何在ANDROID中實現JAVA程序?
- 11. 如何在Android應用程序中實現sharedpreferences
- 12. 如何在Android應用程序中實現SQLite?
- 13. 如何在Android中實現聊天應用程序
- 14. 如何在Android應用程序中實現這樣的界面?
- 15. 如何在android中實現聊天應用程序?
- 16. 如何在android應用程序中實現手勢支持?
- 17. 如何在Android中實現drag'n'drop應用程序
- 18. 如何在Android應用程序中實現Google TagManager
- 19. 如何在我的Android應用程序中實現Miracast
- 20. 如何在Android中實現跨應用程序自動填充?
- 21. 如何在Android應用程序中實現Slide ActionBar?
- 22. 如何在android應用程序中實現Google Analytics?
- 23. 如何在Android應用程序中實現AppInviteInvitation
- 24. 如何在Android應用程序中實現Wiegand協議
- 25. 如何在Android應用程序中實現Facebook登錄?
- 26. 如何在android應用程序中實現cookie
- 27. 如何在Android應用程序中實現聊天功能?
- 28. 如何在Android應用程序支付中實現?
- 29. 如何在Android中實現單一應用程序模式(COSU)?
- 30. 如何在Android應用程序中實現退出功能
但它可能是一個安全問題... @Madhukar –
除非有人知道確切的包名和共享密鑰。共享密鑰可以使用我已經使用的md5算法進行加密/解密。 –
有什麼叫Keychain ...有沒有實現鏈接? –