Files
dolphin-magic-api/data/magic-api/api/认证授权/登录.ms
2025-08-03 13:01:47 +08:00

165 lines
4.3 KiB
Plaintext

{
"properties" : { },
"id" : "6fcf21ad09874c2ca00dd9283f2a16cb",
"script" : null,
"groupId" : "0f7392c3132d4ae698caf0e8ab55756b",
"name" : "登录",
"createTime" : 1754119582735,
"updateTime" : 1754193379477,
"lock" : null,
"createBy" : "admin",
"updateBy" : "admin",
"path" : "login",
"method" : "POST",
"parameters" : [ ],
"options" : [ ],
"requestBody" : "{\n \"username\": \"admin\",\n \"password\": \"1234567\"\n}",
"headers" : [ ],
"paths" : [ ],
"responseBody" : "{\n \"code\": \"000000\",\n \"message\": \"成功\",\n \"data\": {\n \"access_token\": \"7a01c52f44d54dd6a6517ba36cba122f\",\n \"refresh_token\": \"d8c639f0288a4cdfa96ac56378bdcc23\"\n }\n}",
"description" : null,
"requestBodyDefinition" : {
"name" : "",
"value" : "",
"description" : "",
"required" : false,
"dataType" : "Object",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ {
"name" : "username",
"value" : "admin",
"description" : "",
"required" : false,
"dataType" : "String",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
}, {
"name" : "password",
"value" : "123456",
"description" : "",
"required" : false,
"dataType" : "String",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
} ]
},
"responseBodyDefinition" : {
"name" : "",
"value" : "",
"description" : "",
"required" : false,
"dataType" : "Object",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ {
"name" : "code",
"value" : "000000",
"description" : "",
"required" : false,
"dataType" : "String",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
}, {
"name" : "message",
"value" : "成功",
"description" : "",
"required" : false,
"dataType" : "String",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
}, {
"name" : "data",
"value" : "",
"description" : "",
"required" : false,
"dataType" : "Object",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ {
"name" : "access_token",
"value" : "1234e6e666184d479eb08e29d23bfa8e",
"description" : "",
"required" : false,
"dataType" : "String",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
}, {
"name" : "refresh_token",
"value" : "ddedf3a00fcf4a3ba7e88712ec446b45",
"description" : "",
"required" : false,
"dataType" : "String",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
} ]
} ]
}
}
================================
// 参数校验
if (is_null(body) || is_blank(body.username) || is_blank(body.password)){
return biz_failure(BizConstants.AUTH_0301)
}
// 登录
var userDO = db.select("""
SELECT * FROM sys_org_user WHERE username = #{body.username}
""")
if (userDO == null || !bcrypt_match(body.password, userDO.password)){
return biz_failure(BizConstants.AUTH_0302)
}
if (userDO.status == "LOCKED") {
return biz_failure(BizConstants.AUTH_0303)
}
if (userDO.status == "BANNED") {
return biz_failure(BizConstants.AUTH_0304)
}
var access_token = uuid()
redis_setex("dolphin:access_token:" + access_token, {
id: userDO.id,
username: userDO.username
}, 1000 * 60 * 30)
var refresh_token = uuid()
redis_setex("dolphin:refresh_token:" + refresh_token, {
access_token: access_token
}, 1000 * 60 * 60 * 24 * 7)
return success({
access_token: access_token,
refresh_token: refresh_token
})