Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh
Để revoke một access token đang còn valid, không cho Client Application sử dụng access token đó nữa, chúng ta sẽ sử dụng token revocation endpoint. Với Authorization Server được xây dựng sử dụng Spring Authorization Server, các bạn có thể sử dụng POST request sau để revoke một access token: http://localhost:8080/oauth2/revoke.
Xem thêm các chương trình tuyển dụng Spring hấp dẫn trên TopDev
Ví dụ bây giờ mình có một RegisteredClient như sau:
// @formatter:off RegisteredClient registeredClient1 = RegisteredClient.withId(UUID.randomUUID().toString()) .clientId("huongdanjava1") .clientSecret("{noop}123") .clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_POST) .authorizationGrantType(AuthorizationGrantType.CLIENT_CREDENTIALS) .tokenSettings(tokenSettings()) .scope("accees-hello") .build(); // @formatter:on
Lấy access token của client này, rồi gọi tới token introspection request, các bạn sẽ thấy kết quả như sau:
Giờ nếu các bạn gọi lại request token introspection cho access token này, các bạn sẽ thấy token invalid, như sau: