gpt4 book ai didi

rest - 将通过securesocial保护的Play Framework休息调用暴露给移动应用程序

转载 作者:行者123 更新时间:2023-12-03 18:11:58 27 4
gpt4 key购买 nike

我想向我的 Play 应用程序以外的客户端公开我的 Play Framework REST 调用。

我想要一个移动应用程序来调用那些安全的休息电话。

我在 SO 上问了一个问题今年早些时候并得到了答案,但这仅适用于 OAuth2,我只使用 OAuth1

我的问题是:

  • 将我的 PlayFramework 应用程序上的 Securesocial 保护的 REST 调用暴露给移动应用程序等非 Web 客户端是个好主意吗?
  • 有没有办法将 Securesocial 用于 OAuth1?
  • 除了我上一个问题的链接中的示例之外,还有其他示例吗?
  • 最佳答案

    master-SNAPSHOT 中的最新更改包括一个 LoginApi Controller ,可让您使用 API 对用户进行身份验证。它支持 UsernamePasswordProvider 和所有 OAuth2Providers。

    在 UsernamePasswordProvider 的情况下,您可以发布用户凭据,如果没有问题,您将获得一个带有 token 的 json,该 token 可用于 X-Auth-Token header 以调用 SecuredActions。例如:

    curl --data "username=some@email.com&password=some_password” http://localhost:9000/auth/api/authenticate/userpass  

    对于基于 OAuth2 的提供者,您必须发布带有由外部服务(即客户端的获取者)生成的 accessToken 以及用户电子邮件的 JSON。该模块将使用 accessToken 来验证它是否有效,并将外部服务返回的电子邮件与传入的电子邮件进行比较。如果它们匹配,则认为用户已通过身份验证。这与 FortyTwo 的人所做的非常相似,我认为内置功能( http://eng.42go.com/mobile-auth-with-play-and-securesocial/)会很好。

    例如,在客户端通过 Facebook 进行身份验证(例如:使用 Javascript)后,返回带有 accessToken 和 expiresIn 值的文件 test.json:
    {
    "email": “some@email.com”,
    "info": {
    "accessToken": “an_access_token”,
    "expiresIn": a_number_with_expiration_in_seconds
    }
    }

    您可以调用:
    curl -v --header "Content-Type: application/json" --request POST --data-binary "@test.json" http://localhost:9000/auth/api/authenticate/facebook

    上述任何调用的示例 json 响应将是:
    {"token":"98b9613dac60890b8e0abf5bc0f77591523df4e6de50b085c832116b8db2cc65511e0de6780f6a49f8755eddabbd46e6afada92160758fd6d4bbb25dc57e0f7b1e4b5b59fbbe543cf80ad1b6d91de7764e3ac1aaa0afac0c312a47bf27258f455606c6c19b1a3d40f8631ce98e6b76e128dddcb29511eb81200ffe9de95cba7a","expiresOn":"2014-05-07T07:43:10.987-03:00"}

    然后,您可以调用安全操作:
    curl -v --header "Content-Type: application/json" -H "X-Auth-Token: 819a9cb9227d2c82af9c1ee2a62b9e7d35725e235e086ab95ecce0b509f3f7b389f430e217e341306ecaebfd1972ac083de73a32341a26f97150ae71fb0417f0031534d818356b2266ffc100e5ee6a50bd1f9ec76b0f68d2ff8ce4d196b4a86b61e002b29b00532ef166cb2eb8476d3ae008c112891628bc0f444c7512c01345" http://localhost:9000/my-protected-action 

    关于rest - 将通过securesocial保护的Play Framework休息调用暴露给移动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23868797/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com