Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以使用OAuth在Tomcat中进行外部身份验证?_Java_Tomcat_Authentication_Oauth - Fatal编程技术网

Java 是否可以使用OAuth在Tomcat中进行外部身份验证?

Java 是否可以使用OAuth在Tomcat中进行外部身份验证?,java,tomcat,authentication,oauth,Java,Tomcat,Authentication,Oauth,在tomcat中,我可以设置安全约束,要求某些资源只能由授权用户访问。用户可以使用基本身份验证或表单身份验证进行身份验证,其中提供用户名和密码 但是,我还希望允许用户使用oauth提供程序进行外部身份验证。这可能吗 注意,我已经可以传递为用户获取访问令牌所需的所有信息。从那里我可以得到用户名和其他配置文件元数据 但是,接下来如何将用户登录到tomcat?我能想到的唯一办法是使用这个用户名并创建一个tomcat帐户,也许可以将访问令牌设置为密码。然后我可以代表用户进行tomcat登录,这样她就可以

在tomcat中,我可以设置安全约束,要求某些资源只能由授权用户访问。用户可以使用基本身份验证或表单身份验证进行身份验证,其中提供用户名和密码

但是,我还希望允许用户使用oauth提供程序进行外部身份验证。这可能吗

注意,我已经可以传递为用户获取访问令牌所需的所有信息。从那里我可以得到用户名和其他配置文件元数据

但是,接下来如何将用户登录到tomcat?我能想到的唯一办法是使用这个用户名并创建一个tomcat帐户,也许可以将访问令牌设置为密码。然后我可以代表用户进行tomcat登录,这样她就可以进行本地身份验证。在后续登录时,我只需将密码更新为新的访问令牌

但这似乎是一种黑客行为,当涉及到用户和安全时,我宁愿避免黑客行为

看来JASPIC可能会提供一个解决方案?不幸的是,看起来tomcat从8.5开始就可以使用它,但我一直在使用8

还有其他选择吗


谢谢

您所追求的特定于Tomcat的扩展点是(用于协议级处理)和(可能)(用于协议无关的凭证验证)。但是,与JASPIC一样,它们只提供容器管理的身份验证集成。除此之外,你还得担心自己(可能有第三方图书馆协助)。