# hycloud-uaa
**Repository Path**: hycloud/hycloud-uaa
## Basic Information
- **Project Name**: hycloud-uaa
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2019-05-09
- **Last Updated**: 2021-11-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 用户认证与授权服务(代号:UAA)
> 特性列表
* 基于TOKEN的表单登录、登出
* 支持账户(用户名、手机号、邮箱)登录,手机号、邮箱验证码登录
* HTTP BASIC认证
* OAUTH2授权服务器
* 获取登录用户信息
* 发送登录短信验证码
* 发送登录邮箱验证码
* UAA CLIENT
## UAA接入方法
> 引入依赖
REST模块映入MAVEN依赖
```xml
com.hyhy.hycloud
hycloud-uaa-client
3.2.0-SDY
```
RestConfig导入配置类
```java
@Configuration
@Import({ UaaClientConfig.class})
public class RestConfig {
}
```
> 增加配置
`application.yml`设置UAA user-info地址
```yml
uaa.user-info.url: http://192.168.1.235:9000/users/user-info
```
> 注入登录用户信息
示例:
```java
@GetMapping("/user-id")
public InvokeResult getCurrentUserIdentity(@CurrentUserInfo UserIdentity userIdentity) {
return InvokeResult.success(userIdentity);
}
@GetMapping("/user-info")
public InvokeResult getCurrentUserInfo(@CurrentUserInfo UserInfo userInfo) {
return InvokeResult.success(userInfo);
}
@GetMapping("/admin-info")
public InvokeResult getCurrentAdminInfo(@CurrentUserInfo AdminInfo userInfo) {
return InvokeResult.success(userInfo);
}
@GetMapping("/doctor-info")
public InvokeResult getCurrentAdminInfo(@CurrentUserInfo DoctorInfo userInfo) {
return InvokeResult.success(userInfo);
}
```
@CurrentUserInfo提供required和withDetails配置项,默认都为true,required配置false时未传token不会抛出异常,withDetails配置false时只会从session缓存中获取UserIdentity账户信息
UserInfo(提供用户详细信息)继承UserIdentity(提供id等账户信息)