使用Akka-Http进行身份验证

时间:2016-02-02 11:03:34

标签: scala authentication oauth-2.0 amazon-cognito akka-http

我们正在开发一款iOS应用,用户需要使用电子邮件+密码(或手机号码)进行身份验证。我们的后端由几个使用Akka-Http的微服务组成。它需要快速,可扩展,并发,并且身份验证+授权应该适用于我们的多个服务。 我正在试图找出使用哪种身份验证方法。 Akka-HTTP目前提供Basic Auth和OAuth2的部分实现。

所以起初我们正在考虑基本身份验证(太简单且功能不够),Oauth1(太复杂),所以我们转向OAuth-2.0,因为它是一种标准。

然后我们考虑了AWS Cognito,因为它结合了Oauth-2.0和OpenID Connect,它提供了OAuth2缺乏的身份验证机制。 http://www.thread-safe.com/2012/01/problem-with-oauth-for-authentication.html

然后我们意识到OAuth2仅用于使用第三方进行身份验证 - 实际上我们不需要第三方身份验证提供程序 - 也许我们需要自己完成,并且使用Cognito是一种过度杀伤,会产生额外的api在我们的微服务之外打电话......

所以我读了一些关于创建我们自己的自定义身份验证提供程序,使用WSSE规范: http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html 我也发现这个例子使用Spray,但我确信它与Akka-Http并没有什么不同: http://danielasfregola.com/2015/06/29/how-to-create-a-spray-custom-authenticator/ 它看起来太简单了,没有令牌过期......

所以我的问题是,我错过了什么吗?我应该选择哪种方法,在哪里可以找到它的例子?

我觉得我要进入圈子,我们必须从头开始编写自己的自定义身份验证提供程序,这有点没用。毕竟几乎每个人都需要身份验证,它应该是一个标准。

0 个答案:

没有答案