1. 程式人生 > 實用技巧 >OAuth 修改access_token的儲存位置

OAuth 修改access_token的儲存位置

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_id 
VARCHAR(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)型別。

正常的結果為: