我在springsecurity和oauth2中注销有问题
我们使用Spring SecurityOAuth2保护REST服务。令牌和REST apiendpoint是无状态的,不需要会话。我只需要身份验证服务器一次登录验证,当我在rest客户端中调用注销服务时,它显示200响应,但没有删除授权。当我输入用户名和密码时,应该是同一个用户登录。但不注销。我还澄清了上下文。
这是我的控制器
`@Path("oauth2/logout")
public class LogoutImpl implements LogoutSuccessHandler{
private TokenStore tokenStore;
@Autowired
public LogoutImpl(TokenStore tokenStore) {
this.tokenStore = tokenStore;
}
public void setTokenStore(TokenStore tokenStore) {
this.tokenStore = tokenStore;
}
@Override
public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
throws IOException, ServletException {
removeaccess(request);
SecurityContextHolder.clearContext();
response.getOutputStream().write("\n\tYou Have Logged Out successfully.".getBytes());}
public void removeaccess(HttpServletRequest req) {
String tokens = req.getHeader("Authorization");
String value = tokens.substring(tokens.indexOf(" ")).trim();
OAuth2AccessToken token = tokenStore.readAccessToken(value.split(" ")[0]);
tokenStore.removeAccessToken(token);
System.out.println("\n\tAccess Token Removed Successfully!!!!!!!!");
}}
`
我看到您正在使用授权标头,并且我认为令牌是 JWT。没有删除或撤销 JWT 的概念。它必须自行过期。有些人的观点会指出,当服务器无法撤销令牌并且不能用于企业应用程序时,这是一个缺点。
当客户端在另一个API中使用同一个令牌时,服务器会分析该令牌,如果该令牌在到期时间内且未被篡改,则将验证为真。
然而,如果您不使用JWT,情况将有所不同,答案也将无关紧要。
在我的本地开发Ubuntu框中,我使用MySQL和phpmyadmin来处理数据库。 每当phpmyadmin空闲1440秒(24分钟)时,会话将过期。我失去了我的位置,不得不登录并重新开始。 我尝试更改内的,但它仍然在1440秒内超时。 我已经重新启动了所有程序并清除了浏览器缓存(Firefox历史记录)- 我不知道为什么增加的超时没有生效。我做错了什么?
它给出: 下面是我使用的代码: 方法verifyUserExistance是; 我就是这样处理注销的;
接口说明 该接口已经废弃,请使用【单体化、标绘、压平 -> GEOJSON上传】接口 如果出现标记有误或者不想在对某个位置进行标记,可以调用该接口来删除标记的位置 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /api/marker/1.0.0/del 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 id s
您好,我在ADFS 2.0中面临以下单一注销问题。 我使用ADFS 2.0作为RST,另一个ADFS 2.0注册为声明提供程序,并配置为表单身份验证。 我有4个依赖方(RPs)托管在另一台IIS服务器上。 在对索赔提供者进行身份验证后,我正在打开IE中的所有4个RPs。注销第一次运行得非常好。但如果我再次登录并单击注销,则刷新后任何一个RP应用程序都会保持登录状态。我还可以看到,在ADFS/LS站
我已经运行了这个脚本 但我看到,通过这样做,我们实际上是先注册服务人员,然后注销它。对我来说,这似乎不是正确的方法。 或者,我可以点击从开发工具应用程序到服务工作者附近的取消注册链接 但当我通过检查时chrome://serviceworker-internals/ 它在列表底部显示旧的和未注册的服务人员列表(见图) 那么为什么我会在这里看到冗余服务人员列表呢?什么时候更新?这是chrome浏览器