package com.sys.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; import org.springframework.stereotype.Service; @Service("oAuthService") public class OAuthServiceImpl { private Cache cache; @Autowired private Oauth2ClientServiceImpl oauth2ClientService; @Autowired public OAuthServiceImpl(CacheManager cacheManager) { this.cache = cacheManager.getCache("code-cache"); } public void addAuthCode(String authCode, String username) { cache.put(authCode, username); } public void addAccessToken(String accessToken, String username) { cache.put(accessToken, username); } public String getUsernameByAuthCode(String authCode) { return (String)cache.get(authCode).get(); } public String getUsernameByAccessToken(String accessToken) { return (String)cache.get(accessToken).get(); } public boolean checkAuthCode(String authCode) { return cache.get(authCode) != null; } public boolean checkAccessToken(String accessToken) { return cache.get(accessToken) != null; } public boolean checkClientId(String clientId) { return oauth2ClientService.selectByClientId(clientId) != null; } public boolean checkClientSecret(String clientSecret) { return oauth2ClientService.selectByClientSecret(clientSecret) != null; } public long getExpireIn() { return 3600L; } }