4.2.2 redis连接配置 在认证服务的application.yml文件中添加如下配置: [mw_shl_code=applescript,true]spring: application:
name: xc‐service‐ucenter‐auth redis:
host: ${REDIS_HOST:127.0.0.1} port: ${REDIS_PORT:6379}
timeout: 5000 #连接超时 毫秒
jedis:
pool:
maxActive: 3
maxIdle: 3
minIdle: 1
maxWait: ‐1 #连接池最大等行时间 ‐1没有限制 [/mw_shl_code] 4.2.3 测试 [mw_shl_code=applescript,true]@SpringBootTest @RunWith(SpringRunner.class) public class RedisTest {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Test public void testRedis(){
//定义key
String key = "user_token:9734b68f‐cf5e‐456f‐9bd6‐df578c711390";
//定义Map
Map<String,String> mapValue = new HashMap<>();
mapValue.put("id","101");
mapValue.put("username","itcast");
String value = JSON.toJSONString(mapValue);
//向redis中存储字符串
stringRedisTemplate.boundValueOps(key).set(value,60, TimeUnit.SECONDS);
//读取过期时间,已过期返回‐2
Long expire = stringRedisTemplate.getExpire(key);
//根据key获取value
String s = stringRedisTemplate.opsForValue().get(key);
System.out.println(s); } } [/mw_shl_code] 4.3.1 需求分析 认证服务需要实现的功能如下: 1、登录接口 前端post提交账号、密码等,用户身份校验通过,生成令牌,并将令牌存储到redis。 将令牌写入cookie。 2、退出接口 校验当前用户的身份为合法并且为已登录状态。 将令牌从redis删除。 删除cookie中的令牌。
业务流程如下:

4.3.2 Api接口 [mw_shl_code=applescript,true]@Api(value = "用户认证",description = "用户认证接口") public interface AuthControllerApi {
@ApiOperation("登录")
public LoginResult login(LoginRequest loginRequest);
@ApiOperation("退出")
public ResponseResult logout(); }[/mw_shl_code] 4.3.3 配置参数 在application.yml中配置参数

[mw_shl_code=applescript,true]auth:
tokenValiditySeconds: 1200
#token存储到redis的过期时间 clientId: XcWebApp clientSecret: XcWebApp cookieDomain: localhost
cookieMaxAge: ‐1[/mw_shl_code]