Sha*_*der 4 rest playframework securesocial playframework-2.2
我想将Play Framework REST调用暴露给我的播放应用以外的客户端.
我想要一个移动应用程序来呼叫那些安全的休息电话.
我在今年早些时候问了一个关于SO的问题并得到了答案,但这只适用于OAuth2并且我只使用OAuth1
我的问题是:
Jor*_*rge 22
master-SNAPSHOT中的最新更改包括LoginApi控制器,该控制器允许您使用API对用户进行身份验证.它支持UsernamePasswordProvider和所有OAuth2Providers.
在UsernamePasswordProvider的情况下,您可以发布用户凭据,如果它们没问题,您将获得一个带有令牌的json,该令牌可以在X-Auth-Token头中用于调用SecuredActions.例如:
curl --data "username=some@email.com&password=some_password” http://localhost:9000/auth/api/authenticate/userpass
Run Code Online (Sandbox Code Playgroud)
对于基于OAuth2的提供程序,您必须使用由外部服务(在客户端获取者)生成的accessToken以及用户电子邮件发布JSON.该模块将使用accessToken来验证它是否有效,并将外部服务返回的电子邮件与传入的电子邮件进行比较.如果它们匹配,则认为用户已通过身份验证.这与FortyTwo的人员非常相似,我认为内置这些功能会很好(http://eng.42go.com/mobile-auth-with-play-and-securesocial/).
例如,在客户端使用Facebook进行身份验证后返回一个带有accessToken和expiresIn值的文件test.json(例如:使用Javascript):
{
"email": “some@email.com”,
"info": {
"accessToken": “an_access_token”,
"expiresIn": a_number_with_expiration_in_seconds
}
}
Run Code Online (Sandbox Code Playgroud)
你可以调用:
curl -v --header "Content-Type: application/json" --request POST --data-binary "@test.json" http://localhost:9000/auth/api/authenticate/facebook
Run Code Online (Sandbox Code Playgroud)
以上任何调用的示例json响应将是:
{"token":"98b9613dac60890b8e0abf5bc0f77591523df4e6de50b085c832116b8db2cc65511e0de6780f6a49f8755eddabbd46e6afada92160758fd6d4bbb25dc57e0f7b1e4b5b59fbbe543cf80ad1b6d91de7764e3ac1aaa0afac0c312a47bf27258f455606c6c19b1a3d40f8631ce98e6b76e128dddcb29511eb81200ffe9de95cba7a","expiresOn":"2014-05-07T07:43:10.987-03:00"}
Run Code Online (Sandbox Code Playgroud)
然后,您可以调用安全操作:
curl -v --header "Content-Type: application/json" -H "X-Auth-Token: 819a9cb9227d2c82af9c1ee2a62b9e7d35725e235e086ab95ecce0b509f3f7b389f430e217e341306ecaebfd1972ac083de73a32341a26f97150ae71fb0417f0031534d818356b2266ffc100e5ee6a50bd1f9ec76b0f68d2ff8ce4d196b4a86b61e002b29b00532ef166cb2eb8476d3ae008c112891628bc0f444c7512c01345" http://localhost:9000/my-protected-action
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2874 次 |
| 最近记录: |