5

tôi đang xem xét một dự án khởi động mùa xuân trong đó có mã này:Cách sử dụng AuthorizationServerSecurityConfigurer?

public void configure(AuthorizationServerSecurityConfigurer oauthServer) throws Exception { 
    oauthServer 
     .tokenKeyAccess("permitAll()") 
     .checkTokenAccess("isAuthenticated()"); 
} 

Thật không may, tôi không thể tìm thấy bất kỳ tài nguyên bất cứ nơi nào (ví dụ Google, tài liệu Spring, docs Xuân oauth) mà giải thích cho tôi làm thế nào để thực sự sử dụng AuthorizationServerSecurityConfigurer. Hơn nữa, tôi không hiểu chính xác những gì tokenKeyAccess("permitAll()") hoặc checkTokenAccess("isAuthenticated()") làm.

Ngoài việc giúp tôi hiểu hai chức năng đó làm gì, hãy giúp tôi tìm hiểu nơi tìm kiếm các loại thông tin này trong tương lai.

Trả lời

7

OAuth bảo mật mùa xuân cho thấy hai điểm cuối để kiểm tra mã thông báo (/oauth/check_token/oauth/token_key). Các điểm cuối đó không được mặc định hiển thị (có quyền truy cập "denyAll()").

Vì vậy, nếu bạn muốn xác minh các thẻ với thiết bị đầu cuối này, bạn sẽ phải thêm video này vào cấu hình máy chủ cho phép bạn:

@Override 
public void configure(AuthorizationServerSecurityConfigurer oauthServer) throws Exception { 
    oauthServer.tokenKeyAccess("isAnonymous() || hasAuthority('ROLE_TRUSTED_CLIENT')") 
       .checkTokenAccess("hasAuthority('ROLE_TRUSTED_CLIENT')"); 
} 

Một số chi tiết có thể được tìm thấy trong "Resource Server Configuration" section of the Spring Security OAuth2 documentation.