是否可以选择将Azure AD身份验证与aws中托管的现有基于Java的web应用程序集成?
我们在AWS中运行移动应用程序后端。后端构建使用Java spring前端,支持本机iOS、本机Android和基于angular js的网站,使用电子邮件id和密码进行身份验证。现在,我们正计划将我们的应用程序身份验证与我们的组织Active directory集成,后者在Azure AD中提供是否可以选择将Azure AD身份验证与aws中托管的现有基于Java的web应用程序集成?,java,android,azure,azure-active-directory,adal,Java,Android,Azure,Azure Active Directory,Adal,我们在AWS中运行移动应用程序后端。后端构建使用Java spring前端,支持本机iOS、本机Android和基于angular js的网站,使用电子邮件id和密码进行身份验证。现在,我们正计划将我们的应用程序身份验证与我们的组织Active directory集成,后者在Azure AD中提供 我们大致了解了Azure门户应用程序的创建,使用ADAL库从Azure获取令牌。但我们不清楚如何在web服务端验证令牌。您能告诉我们集成过程吗?不幸的是,Azure AD目前在Java中没有很好的we
我们大致了解了Azure门户应用程序的创建,使用ADAL库从Azure获取令牌。但我们不清楚如何在web服务端验证令牌。您能告诉我们集成过程吗?不幸的是,Azure AD目前在Java中没有很好的web API安全指南。然而,在这种情况下,采用开源方法并不十分困难 Azure AD的访问令牌是JWT,基本上只是带有签名的base64编码JSON字符串。已经编译了一个很好的开源库列表,可以用来验证JWT(一些库也可以生成JWT,仅供参考)。目前可用的最佳参考资料是:
- 必要时列出的声明(仅忽略关于id_令牌的注释,这是不正确的)李>
- 在如何验证令牌方面,也有一些好消息。您还应该确保验证
声明,此处不会提及该声明范围
- 这显示了如何采用这种方法,但它是在.NET中实现的。您可以遵循Java的模式
https://login.microsoftonline.com//.well-known/openid-configuration
OpenID Connect规范还提供了关于可用数据格式的信息 我在寻找同一个问题,在这里绊倒了。我仍然不理解令牌验证部分。我知道JWT令牌可以使用来自AD的密钥进行解密。但服务器如何知道这些密钥呢?我们是否必须使用任何api从AD检索密钥,或者密钥是我们在AD中注册应用程序时可以获得的静态值。