4000-520-616
欢迎来到免疫在线!(蚂蚁淘生物旗下平台)  请登录 |  免费注册 |  询价篮
主营:原厂直采,平行进口,授权代理(蚂蚁淘为您服务)
咨询热线电话
4000-520-616
当前位置: 首页 > 新闻动态 >
新闻详情
Apollo 源码解析 —— OpenAPI 认证与授权(一)之认证 - Java 技术...
来自 : cmsblogs.com/?p=3... 发布时间:2021-03-25

com.ctrip.framework.apollo.openapi.service.ConsumerService ,提供 Consumer、ConsumerToken、ConsumerAudit、ConsumerRole 相关的 Service 逻辑。

6.1 构造方法
private static final FastDateFormat TIMESTAMP_FORMAT = FastDateFormat.getInstance(\"yyyyMMddHHmmss\");private static final Joiner KEY_JOINER = Joiner.on(\"|\");@Autowiredprivate UserInfoHolder userInfoHolder;@Autowiredprivate ConsumerTokenRepository consumerTokenRepository;@Autowiredprivate ConsumerRepository consumerRepository;@Autowiredprivate ConsumerAuditRepository consumerAuditRepository;@Autowiredprivate ConsumerRoleRepository consumerRoleRepository;@Autowiredprivate PortalConfig portalConfig;@Autowiredprivate RolePermissionService rolePermissionService;@Autowiredprivate UserService userService;
6.2 createConsumer

#createConsumer(Consumer) 方法,保存 Consumer 到数据库中。代码如下:

public Consumer createConsumer(Consumer consumer) { String appId = consumer.getAppId(); // 校验 appId 对应的 Consumer 不存在 Consumer managedConsumer = consumerRepository.findByAppId(appId); if (managedConsumer != null) { throw new BadRequestException(\"Consumer already exist\"); // 校验 ownerName 对应的 UserInfo 存在 String ownerName = consumer.getOwnerName(); UserInfo owner = userService.findByUserId(ownerName); if (owner == null) { throw new BadRequestException(String.format(\"User does not exist. UserId = %s\", ownerName)); consumer.setOwnerEmail(owner.getEmail()); // 设置 Consumer 的创建和最后修改人为当前管理员 String operator = userInfoHolder.getUser().getUserId(); consumer.setDataChangeCreatedBy(operator); consumer.setDataChangeLastModifiedBy(operator); // 保存 Consumer 到数据库中 return consumerRepository.save(consumer);
6.3 generateAndSaveConsumerToken

#generateAndSaveConsumerToken(Consumer, expires) 方法,基于 Consumer 对象,创建其对应的 ConsumerToken 对象,并保存到数据库中。代码如下:

public ConsumerToken generateAndSaveConsumerToken(Consumer consumer, Date expires) { Preconditions.checkArgument(consumer != null, \"Consumer can not be null\"); // 生成 ConsumerToken 对象 ConsumerToken consumerToken = generateConsumerToken(consumer, expires); consumerToken.setId(0); //for protection // 保存 ConsumerToken 到数据库中 return consumerTokenRepository.save(consumerToken);

本文链接: http://apolloapi.immuno-online.com/view-733034.html

发布于 : 2021-03-25 阅读(0)