【问题标题】:Authentication in a Play server without browser在没有浏览器的 Play 服务器中进行身份验证
【发布时间】:2015-06-22 15:05:29
【问题描述】:

所以,我有一个 Android 应用程序,这意味着我没有使用浏览器(我将在几行中解释为什么这很重要)并且我希望将 Security.Authenticator 与 Play 一起使用! 2.3.8

基本上,Play 使用当前会话(与浏览器直接相关),使用String getUserame(Context ctx) 检查其中的内容,如果存在则发回用户名。如果不是,则使用 Result onUnauthorized(Context ctx) 返回一个 HTTP redirect

这是我的问题:我使用 Play 作为远程应用程序的服务器。如何在我的应用中使用 Play 提供的身份验证方法?当然,这很棘手,由于我没有使用任何浏览器,我无法在会话中存储某些内容。

你们对此有一些解决方法或解决方案吗?

【问题讨论】:

  • 这是Authenticator 的默认行为。您可以轻松地覆盖 getUsername 方法并检测您的用户是否在请求的标头或其他地方进行了身份验证。

标签: java android security cookies playframework-2.3


【解决方案1】:

Play 使用当前会话(与浏览器直接相关)... 由于我没有使用任何东西,我无法在会话中存储一些东西 浏览器。

以上是错误的。

您可以轻松地将 cookie 存储在 Android 的 CookieStore 中,这样您就可以安全地使用 Play 的会话 cookie。

相关的 SO 问题将帮助您弄清楚如何做到这一点:

Android: How to store cookies?

Storing and restoring cookies in Android (persistent cookie storage)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 2012-11-07
    • 2012-09-06
    • 1970-01-01
    • 2013-04-28
    • 2013-09-23
    • 1970-01-01
    相关资源
    最近更新 更多