关键词:
【中文标题】如何在社交身份验证中存储 facebook 的访问令牌【英文标题】:how to store access token for facebook in social auth 【发布时间】:2015-04-16 22:42:46 【问题描述】:我正在使用社交身份验证来集成 facebook、google 等社交应用程序。我成功授权并在 logcat 中打印了访问令牌,但我想存储它们以发送到 api。
class SignUp extends Activity
SocialAuthAdapter adapter;
public void onCreate(Bundle SavedBundleInstanceState )
adapter = new SocialAuthAdapter(new ResponseListener());
adapter.authroize(SignUp.this,Provider.Facebook);
通过这段代码,我在 logcat 中获取了访问令牌,但不知道如何存储它。
【问题讨论】:
您可以使用来自 android 的许多存储选项,例如 Shared Preferences、SQLite Databases 等 developer.android.com/guide/topics/data/data-storage.html @Mourice 你没有得到我的问题..实际上通过上面的代码我可以在 logcat 上打印访问令牌,但不知道如何让它们进入我的活动,所以我可以使用它们..i已使用社交身份验证进行集成 【参考方案1】:您可以使用最简单的方法shared preferences
.. 或使用session
... 在其中您可以保存和检索string
和key value
..
SessionManager.java
public class SessionManager
// Shared Preferences
SharedPreferences pref;
// Editor for Shared preferences
Editor editor;
// Context
Context _context;
// Shared pref mode
int PRIVATE_MODE = 0;
// Sharedpref file name
private static final String PREF_NAME = "wlm";
// All Shared Preferences Keys
private static final String IS_LOGIN = "IsLoggedIn";
private static final String STATUS = "status";
private static final String STATUS_COLOR = "status_color";
// User name (make variable public to access from outside)
public static final String KEY_NAME = "name";
// Email address (make variable public to access from outside)
public static final String KEY_EMAIL = "email";
// Constructor
public SessionManager(Context context)
this._context = context;
pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
editor = pref.edit();
/**
* Create login session
* */
public void createLoginSession(String name, String email)
// Storing login value as TRUE
editor.putBoolean(IS_LOGIN, true);
// Storing name in pref
editor.putString(KEY_NAME, name);
// Storing email in pref
editor.putString(KEY_EMAIL, email);
// commit changes
editor.commit();
/**
* Check login method wil check user login status
* If false it will redirect user to login page
* Else won't do anything
* */
public void checkLogin()
// Check login status
if(!this.isLoggedIn())
// user is not logged in redirect him to Login Activity
// Intent i = new Intent(_context, LoginScreen.class);
// // Closing all the Activities
// i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//
// // Add new Flag to start new Activity
// i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//
// // Staring Login Activity
// _context.startActivity(i);
/**
* Get stored session data
* */
public HashMap<String, String> getUserDetails()
HashMap<String, String> user = new HashMap<String, String>();
// user name
user.put(KEY_NAME, pref.getString(KEY_NAME, null));
// user email id
user.put(KEY_EMAIL, pref.getString(KEY_EMAIL, null));
// return user
return user;
/**
* Clear session details
* */
public void logoutUser()
// Clearing all data from Shared Preferences
editor.clear();
editor.commit();
// After logout redirect user to Loing Activity
// Intent i = new Intent(_context, LoginScreen.class);
// // Closing all the Activities
// i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//
// // Add new Flag to start new Activity
// i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//
// // Staring Login Activity
// _context.startActivity(i);
/**
* Quick check for login
* **/
// Get Login State
public boolean isLoggedIn()
return pref.getBoolean(IS_LOGIN, false);
在你的活动中,你可以存储你的字符串
session.editor.putInt("your key", YourString);
并使用检索
String str = session.pref.getString("your key", "");
还为 SessionManager 中的每个条目定义键,例如
private static final String ANY_NAME= "your key";
【讨论】:
【参考方案2】:访问令牌存储在 Session 类中
Session session = Session.getActiveSession();
String accessToken = session.getAccessToken();
【讨论】:
用于登录 Facebook 的 Python 社交身份验证无法在生产服务器上运行
】用于登录Facebook的Python社交身份验证无法在生产服务器上运行【英文标题】:PythonsocialauthforloginwithFacebooknotworkingonproductionserver【发布时间】:2016-06-2122:13:10【问题描述】:我正在使用Python社交身份验证通过Django1.8登录Facebook和G... 查看详情
如何使用 Firebase 登录多个社交服务?
...我希望用户能够使用多个不同的身份验证提供程序(例如Facebook、Twitter或Github)对我的Firebase应用程序进行身份验证。一旦通过身份验证,我希望用户无论使用哪种身份验证方法都可以访问同一个帐户。 查看详情
使用自己的 API 后端处理社交网络身份验证
...端通过OAuth处理某些社交网络的身份验证?我第一次使用facebook是直接用facebook认证客户端,获取accessToken将accessToken发送到我自己的后端并创建一个新用户,从ope 查看详情
facebook登录jwt(代码片段)
...emo中引用了这个项目。现在我需要在我的应用程序中登录facebook。对于社交登录,我找到了另一个网页https://ole.michelsen.dk/blog/social-signin-spa-jwt-server.html,它解释了如何进行社交登录。在正常登录中,我的JWT项目根据用户名,密码... 查看详情
使用带有 Passport Js 的 Facebook 进行身份验证:啥是访问令牌,注册后我应该存储啥?
】使用带有PassportJs的Facebook进行身份验证:啥是访问令牌,注册后我应该存储啥?【英文标题】:AuthenticationusingFacebookwithPassportjs:whatisaccessTokenfor,whatshouldIstoreafterregistration?使用带有PassportJs的Facebook进行身份验证:什么是访问令... 查看详情
如何在颤动中使用facebook执行firebase身份验证[重复]
】如何在颤动中使用facebook执行firebase身份验证[重复]【英文标题】:HowcanIperformfirebaseauthenticationwithfacebookinflutter[duplicate]【发布时间】:2019-09-2418:12:42【问题描述】:我正在尝试在我的应用中添加firebase和facebook身份验证。Facebook... 查看详情
使用 Facebook 的访问令牌在 UIWebView 中显示带有经过身份验证的用户会话的粉丝页面
】使用Facebook的访问令牌在UIWebView中显示带有经过身份验证的用户会话的粉丝页面【英文标题】:DisplayingafanpageinaUIWebViewwithanauthenticatedusersessionusingFacebook\'saccesstoken【发布时间】:2013-03-0909:01:12【问题描述】:我们正在开发一款... 查看详情
Facebook 身份验证教程缺失的部分
】Facebook身份验证教程缺失的部分【英文标题】:Facebookauthenticationtutorialmissingpiece【发布时间】:2012-01-2023:44:54【问题描述】:在过去的2天里,我一直在努力尝试成功验证用户进入我的Facebook应用程序。我最终要实现的是检索和... 查看详情
用户登录后如何使用社交 API(如 facebook)将数据存储在数据库中
】用户登录后如何使用社交API(如facebook)将数据存储在数据库中【英文标题】:HowtostoredataondatabaseafteruserloginusingsocialAPI,likefacebook【发布时间】:2022-01-2200:21:00【问题描述】:我正在开发一个使用django作为后端的react-native应用... 查看详情
使用社交身份验证详细信息从内置登录系统登录
...述】:我有内置的laravel和社会认证。假设如果用户使用facebook登录,我将用户详细信息(例如fb_id、username、email等)存储到用户表中,该表可通过内置登录系统进行验证。这样我可以 查看详情
如何在 UIWebView 中访问公共 Facebook 个人资料
】如何在UIWebView中访问公共Facebook个人资料【英文标题】:HowwillAccessapublicFacebookprofileinUIWebView【发布时间】:2015-05-1911:44:19【问题描述】:如何以已通过身份验证的用户身份加载FacebookURL(例如FacebookMobile)?使用FacebookSDK并已使... 查看详情
Firebase 身份验证中的用户 ID 如何在所有身份验证提供程序(Google、Facebook、Github)中都相同?
...份验证中的用户ID如何在所有身份验证提供程序(Google、Facebook、Github)中都相同?【英文标题】:HowcantheUserIDinFirebaseAuthenticationbethesameacrossallAuthenticationProviders(Google,Facebook,Github)?【发布时间】:2018-01-2405:51:16【问题描述】:Googl... 查看详情
如何在 Facebook Flash 应用程序中进行身份验证?
】如何在FacebookFlash应用程序中进行身份验证?【英文标题】:HowtoauthenticateinaFacebookFlashapplication?【发布时间】:2010-09-1204:01:01【问题描述】:我不明白如何在FacebookFlash应用程序中对用户进行身份验证。我从文档中读到Facebook平... 查看详情
如何在 Angular 应用程序中存储身份验证令牌
】如何在Angular应用程序中存储身份验证令牌【英文标题】:HowtostoreanauthtokeninanAngularapp【发布时间】:2014-07-0912:26:29【问题描述】:我有一个与RESTAPI服务器通信的Angular应用程序(SPA),我有兴趣找出存储从API服务器返回的访问令... 查看详情
在 XMPPFramework 中设置 Facebook SASL 身份验证
】在XMPPFramework中设置FacebookSASL身份验证【英文标题】:SettingupFacebookSASLauthenticationinXMPPFramework【发布时间】:2011-01-1908:14:53【问题描述】:关于如何在XMPPFrameworkforiPhone中设置facebookSASL身份验证的任何线索。我不需要获取访问令... 查看详情
在 Java Web 应用程序中添加用户身份验证
...6-1313:39:26【问题描述】:我需要对使用不同社交媒体(如facebook、twitter、google和yahoo)访问我的基于java的Web应用程序(Servlet和JSP)的用户进行身份验证。有没有解决这个问题的开源库?与其使用不同的API,不如使用开源Java库。... 查看详情
如何使用颤振在 django 中进行 google、facebook 身份验证
】如何使用颤振在django中进行google、facebook身份验证【英文标题】:Howtomakegoogle,facebookauthenticationindjangowithflutter【发布时间】:2021-02-0418:16:41【问题描述】:我将Flutter用于移动应用,将django用于后端API。我希望用户能够使用来自... 查看详情
如何在对话框而不是 Safari 网页中进行 Facebook 身份验证
】如何在对话框而不是Safari网页中进行Facebook身份验证【英文标题】:HowtodotheFacebookauthenticationinadialoginsteadofSafariwebpage【发布时间】:2011-07-2602:26:37【问题描述】:当使用Facebook连接的iPhone应用程序时,我遵循SSO指南(http://developer... 查看详情