使用Azure进行JWT身份验证/授权的Stormpath

时间:2017-01-02 19:29:51

标签: asp.net .net azure jwt stormpath

我们正在研究移动报告应用程序的身份验证/授权,该应用程序使用在MS Azure云中运行的内部提供的RESTful Web api服务,通过网络消耗每小时/每周/每月商业敏感数据。 Stormpath的产品看起来很有趣,它似乎为整个身份管理方面提供了一些重要的提升,注册用户,验证它们并生成JWT令牌等。 否则,我们必须编写自己的auth / user db表,并且需要管理开销。

我还不完全清楚的是,Azure提供的当前不安全,未经身份验证的原型API需要与Stormpath交叉。 任何人,尤其是那些熟悉Stormath的人都可以详细说明这个吗?

我得到所有用户注册,密码恢复用例将通过Stormpath进行,我猜测为用户创建JWT令牌需要我们现有的服务与Stormpath交谈。我们的RESTful调用的HTTP(S)头中的令牌验证是否由本地Azure服务(通过某些代码插件)完成,如果是,则在本地完成验证或每个RESTful调用是否具有代理调用的副作用Stormpath API验证令牌的好坏吗?

我想我对Web API管道中整个令牌验证步骤的性能问题很敏感。

我在其他地方读过微软自己有一个产品,即Azure AD B2C,它似乎尚未为美国/北美以外的地区做好生产准备。 我们应该考虑将其他东西作为Stormpath等外包产品的替代品吗?

像Stormpath这样的东西看起来很有吸引力的是双因素身份验证的可能性。 在没有进行太多分析的情况下,典型的用例场景是注册或密码恢复将要求将SMS发送给用户预先注册的智能手机号码以提供更强的验证(以及他们的预先-registered device)是移动应用程序的目标用户,它使用RESTful服务来使用和可视化商业敏感数据。

1 个答案:

答案 0 :(得分:0)

我在Stormpath的.NET库上工作。

  

我还不完全清楚我们目前使用Azure提供的不安全,未经身份验证的原型API需要与Stormpath交叉。

Stormpath充当您的API访问令牌的来源。当使用您的移动应用程序的用户需要登录时,您的后端API使用Stormpath生成访问令牌,或者移动应用程序直接与Stormpath对话以获取访问令牌。无论哪种方式,令牌都允许移动应用向您的API发出经过身份验证的请求。

  

我们的RESTful调用的HTTP(S)头中的令牌验证是否由本地Azure服务(通过某些代码插件)完成,如果是,则在本地完成验证或者每个RESTful调用都有副作用代理调用Stormpath API来验证令牌的好坏吗?

可以使用ASP.NET中的UseJwtBearerAuthentication等中间件在本地验证访问令牌(JWT)的完整性。为了更加安全,您可以将令牌发送到Stormpath以进一步验证(对于撤销和其他情况),但权衡是网络请求。本地(快速)验证是默认验证,但我们为您提供了两种选择。

  

我在其他地方读过微软自己有一个产品,即Azure AD B2C,它似乎尚未为美国/北美以外的地区做好生产准备。我们应该考虑将其他东西作为Stormpath等外包产品的替代品吗?

使用Stormpath或Azure AD B2C将您的身份和用户管理“外包”。好处是您不必自己编写,而是可以专注于编写业务和应用程序逻辑。功能类似,虽然Stormpath在移动方面更灵活(因为您不必使用基于浏览器/页面的流程)。