Turbo Native Android认证:如何将Preferences中的Token传入Turbo Fragment?
- 我想把存储在Preferences中的
token传递给turbo fragment,原以为存储后就能直接在fragment中使用,但我对Android不熟悉,有没有相关教程? - 参考iOS的实现方案,文档提到:
"对于HEY,我们采用了略有不同的方法。我们在初始OAuth请求中获取返回的Cookie,并将这些Cookie直接设置到web view和全局Cookie存储中"
- 想请教两个问题:
- 如何在Android中将token/Cookie设置到
web view? - Android的
Preferences是否与iOS的global cookie store功能相同?
- 如何在Android中将token/Cookie设置到
更新
感谢@yungindigo提供的方案,已成功实现!由于我的token存储在不同表中,因此调整了实现方式,具体代码如下:
模型代码
# User.rb has_many :oauth_tokens, dependent: :destroy # OauthToken.rb belongs_to :user
辅助方法(application_helper.rb)
def auth_mobile_user token = cookies[:oauth_token] oauth = OauthToken.find_by_oauth_token(token) session[:user_id] = oauth.user.id end
视图代码(application.html.erb)
<% unless mobile? %> <%= render 'layouts/header' %> <% else %> <% auth_mobile_user %> <% end %>
其中mobile?方法通过检查Android端user_agent中的header标识,区分请求来自移动端应用还是网页端。
内容的提问来源于stack exchange,提问作者Chrismisballs
相关产品推荐
相关产品推荐

