繁体   English   中英

使用Akka-Http进行身份验证

[英]Authentication with 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/它看起来太简单了,没有令牌过期。 ..

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

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

我最近一直在使用SoftwareMill的akka-http-session库,发现它简单易用。 它支持基于案例类的会话,JWT,具有可插拔存储的刷新令牌,使用头和CSRF令牌以及一些用于路由的简单指令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM