小编Mar*_*rco的帖子

在Play框架和OAuth2上保护REST API

我正在使用Play 2.0Scala开发一个暴露一些REST API 的应用程序.这些API将由不同的应用程序,Web,移动或桌面使用,因此OAuth协议(OAuth2)似乎是最合适的.

此外,我最初会使用外部OAuth提供商,如Facebook.

我的问题是:授权单个REST调用的确切流程是什么?对于每次通话,我应该在服务器端期望什么以及我应该与外部提供商检查什么?

使用OAuth1我知道客户端发送了带有所有签名请求的令牌,但是我认为不是这样,我想如果签名没有签名是不可信的,因此我不认为这是流程.

scala oauth oauth-2.0 playframework playframework-2.0

41
推荐指数
3
解决办法
2万
查看次数

LFTP活动模式,服务器无法识别PORT命令

我使用LFTP从服务器传输文件,遗憾的是无法识别PORT命令.我无法控制服务器(不知道服务器是什么),我必须使用主动模式.

这是命令行:

lftp -e 'debug 10;set ftp:passive-mode off; set ftp:auto-passive-mode no; ls; bye;' -u user,password ftp://ftp.site.com
Run Code Online (Sandbox Code Playgroud)

这是调试输出:

<--- 200 Using default language en_US
---> OPTS UTF8 ON
<--- 200 UTF8 set to on           
---> OPTS MLST modify;perm;size;type;UNIX.group;UNIX.mode;UNIX.owner;
<--- 200 OPTS MLST modify;perm;size;type;UNIX.group;UNIX.mode;UNIX.owner;
---> USER xxxxx
<--- 331 Password required for xxxxx
---> PASS xxxxxx
<--- 230 User xxxxx logged in     
---> PBSZ 0
<--- 200 PBSZ 0 successful               
---> PROT P
<--- 200 Protection set to Private       
---> PORT 172,16,133,11,146,168 …
Run Code Online (Sandbox Code Playgroud)

ftp ftp-client lftp

12
推荐指数
1
解决办法
2万
查看次数

JAXB-Unmarshalling期间的ObjectFactory角色是什么?

我正在使用JAXB 2.2.2来解析一个简单的XML-REST流.这是一段代码:

JAXBContext jc = JAXBContext.newInstance( "com.example.entities" );
Unmarshaller u = jc.createUnmarshaller();
r = (Response )u.unmarshal( inputStream );
Run Code Online (Sandbox Code Playgroud)

ObjectFactory类:

@XmlRegistry
public class ObjectFactory {

    public Response createRsp() {
        return new Response();
    }
}
Run Code Online (Sandbox Code Playgroud)

回复类:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="rsp")
@XmlType
public class Response { ... }
Run Code Online (Sandbox Code Playgroud)

"com.example.entities"必须包含ObjectFactory类或jaxb.in​​dex.我想使用ObjectFactory类来决定一些pojo初始化,但是从不使用这些类:Response类总是直接由class.newInstance()实例化.这有什么不对吗?

java jaxb unmarshalling objectfactory

9
推荐指数
1
解决办法
2万
查看次数

喷雾安全:如何保护路线?

我正在尝试使用REST Spray实现完整的开发.有一个论点,我还没想到,我没有找到记录:如何保护路由的身份验证/授权?我只是通过请求的标头使用基于令牌的身份验证.

security scala spray

6
推荐指数
1
解决办法
374
查看次数

AngularJS $ http:如何避免重定向跟随

在AngularJS应用程序中,我对服务器URL进行$ http.post调用.这个url的成功响应是30x Redirect,我的问题是$ http.post严格遵循此重定向并在成功回调中返回最终调用的结果.我想拦截此重定向并手动将用户(更改浏览器URL)重定向到最终页面.有可能吗?

javascript redirect angularjs

6
推荐指数
1
解决办法
5147
查看次数

如何在PlayFramework 2.1.x(Scala)中实现CSRF保护?

我需要在Play 2.1.x(Scala)应用程序中实现针对CSRF攻击的保护.我看到有一个过滤器play.filters.csrf.CSRFFilter但是找不到足够的文档来使用它.其他模块(例如https://github.com/orefalo/play2-authenticitytoken)似乎已过时/未维护.

我需要手动创建这些措施吗?

security scala csrf playframework-2.1

5
推荐指数
1
解决办法
1905
查看次数

scala中嵌套的"if"/"match"语句:更好的方法?

我有一系列验证函数,如果有的话,返回Option [Problem],如果没有找到验证问题,则返回None.我想编写一个调用每个验证函数的简单函数,停止并返回第一个not-None结果.

当然我可以在"java风格"中编写这个方法,但我想知道是否存在更好的方法.

编辑

这是最初的Java解决方案:

validate01(arg);
validate02(arg);
validate03(arg);
...
Run Code Online (Sandbox Code Playgroud)

如果出现问题,每种方法都会抛出异常.在我写Scala的时候,我会远离异常.

if-statement scala

4
推荐指数
2
解决办法
1019
查看次数