OAuth 修改access_token的儲存位置
阿新 • • 發佈:2020-07-27
OAuth 修改access_token的儲存位置
OAuth 修改access_token的儲存位置,將Redis儲存換為JDBC儲存。
背景
專案需求改變,需要將原本儲存在Redis中的access_token變為儲存在SQLserver中。
實施
做起來也比較簡單,只需要將原來的TokenStore實現從RedisStore改為JdbcTkenStore,再在DB中建立oauth_access_token表即可。
程式碼如下:
@Bean public TokenStore tokenStore() { return new JdbcTokenStore(dataSource()); }
DB指令碼如下:
Mysql:
create table oauth_access_token ( token_id VARCHAR(128), token BLOB, authentication_id VARCHAR(128) PRIMARY KEY, user_name VARCHAR(128), client_id VARCHAR(128), authentication BLOB, refresh_token VARCHAR(128) );
SQLServer
create table oauth_access_token ( token_idVARCHAR(128), token varbinary(max), authentication_id VARCHAR(128) PRIMARY KEY, user_name VARCHAR(128), client_id VARCHAR(128), authentication varbinary(max), refresh_token VARCHAR(128) );
這裡需要特別注意的是BOLB型別與varbinary(max)型別。
正常的結果為: