SPA 응용 프로그램에 대해 OAuth2 인증을 구현하려고합니다. 한 가지 문제에 직면하고 있습니다. 예를 들어 user1과 user2 두 명이 로그인했습니다. user1이 user2를 사용하려고 시도 할 때 액세스 토큰, user1이 액세스 할 수 있습니다. 나는 어떻게 액세스 토큰을 보안 해야할지 모르겠다.Oauth2에서 사용자 이름이있는 액세스 토큰의 유효성을 검사하십시오.
0
A
답변
0
나는 해결책을 찾아 냈다. 액세스 토큰을 사용자 지정하기 위해 사용자 액세스 토큰을 보호 할 수 있습니다. 토큰 향상 프로그램을 사용하여 액세스 토큰을 사용자 지정해야합니다.
@Primary
@Bean
public DefaultTokenServices defaultTokenServices() {
DefaultTokenServices defaultTokenServices = new DefaultTokenServices();
defaultTokenServices.setTokenStore(tokenStore());
defaultTokenServices.setTokenEnhancer(tokenEnhancer());
defaultTokenServices.setSupportRefreshToken(true);
return defaultTokenServices;
}
이하 및 사용자 정의 증강 내가 사용자 정의 액세스 토큰을 디코딩이 다른 방법에
public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) {
AppUserDetails appUserDetails = (AppUserDetails) authentication.getPrincipal();
final Map<String, Object> additionalInfo = new HashMap<>();
String encodedBytes = Base64.getEncoder().encodeToString(appUserDetails.getIdUser().toString().getBytes());
additionalInfo.put("authorities", appUserDetails.getAuthorities());
additionalInfo.put("username", appUserDetails.getUsername());
additionalInfo.put("idUser", encodedBytes);
((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(additionalInfo);
return accessToken;
}
처럼 될 것 같은 코드가 될 것입니다. 또한 AuthorizationServerEndpointsConfigurer를 사용했습니다.
@Override
//Configure the properties and enhanced functionality of the Authorization Server endpoints.
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
endpoints.tokenStore(tokenStore()).tokenEnhancer(tokenEnhancer()).authenticationManager(authenticationManager);
}
0
사용자가 oauth2 인증을 사용하여 로그인 할 때마다 새로 로그인 한 사용자의 사용자 ID를 고유 한 access_token과 연결하고 해당 user_id를 가져 와서 현재 로그인 한 user_id로 매핑 할 수 있습니다 사용자가 자신의 access_token을 사용하고 있는지 확인하십시오.
관련 문제
- 1. 액세스 토큰의 유효성을 높이십시오.
- 2. gdata 액세스 토큰의 유효성을 확인하십시오.
- 3. IdentityServer4에 액세스 토큰의 유효성을 검사하는 API가 있습니까?
- 4. 액세스 토큰의 유효성을 확장하는 방법은 무엇입니까?
- 5. 서버 쪽에서 사용자 지정 Oauth2 액세스 토큰의 유효성을 검사하는 방법
- 6. angularjs의 사용자 정의 확인란의 유효성을 검사하십시오.
- 7. 신용 카드 유효성을 검사하십시오
- 8. oAuth2에서 액세스 토큰 훔치기
- 9. ActiveDirectoryMembershipProvider를 사용하여 사용자의 유효성을 검사하십시오.
- 10. OAuth2에서 액세스 토큰 얻기
- 11. 페이지 액세스 토큰과 사용자 액세스 토큰의 차이점
- 12. 앱 액세스 토큰과 사용자 액세스 토큰의 차이점
- 13. jquery serialize하기 전에 유효성을 검사하십시오.
- 14. 정규식을 사용하여 URL 유효성을 검사하십시오.
- 15. XML을 가져와 파일 유효성을 검사하십시오.
- 16. 양식이 채워진 경우에만 유효성을 검사하십시오.
- 17. 선택 옵션을 추가하고 유효성을 검사하십시오.
- 18. 푸른 광고 액세스 토큰의 해명
- 19. .Net MVC 선택한 항목의 유효성을 검사하십시오.
- 20. 응용 프로그램이 서버에있는 경우 유효성을 검사하십시오.
- 21. OAuth 서버에서 토큰의 유효성을 검사하는 방법은 무엇입니까?
- 22. jQuery 유효성 검사를 사용하여 사용자 정의 메서드의 유효성을 검사하십시오.
- 23. 액세스 부여와 액세스 토큰의 차이점
- 24. 문자열을 16 진수로 형식화하고 유효성을 검사하십시오.
- 25. 이메일 확인 토큰의 유효성을 검사하려면 어떻게해야합니까?
- 26. 오프라인 액세스 토큰의 보안
- 27. 루프백에서 액세스 토큰의 유효성 검사
- 28. ASP.NET 이미 값이있는 텍스트 상자의 유효성을 검사하십시오.
- 29. jquery를 사용하여 장고에서 양식의 유효성을 검사하십시오.
- 30. 하나의 정규식을 사용하여 각 행의 유효성을 검사하십시오.