From 426e49396743c352a598d5738476688bb1518ae6 Mon Sep 17 00:00:00 2001 From: yumaojun03 <719118794@qq.com> Date: Sat, 31 May 2025 12:03:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85hash?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devcloud/etc/application.toml | 20 +++ devcloud/mcenter/apps/token/README.md | 17 ++- .../mcenter/apps/token/docs/refresh.drawio | 36 +++++ devcloud/mcenter/apps/token/impl/impl.go | 1 + devcloud/mcenter/apps/token/impl/token.go | 1 + devcloud/mcenter/apps/token/interfaceg.go | 23 +++- devcloud/mcenter/apps/token/model.go | 99 +++++++++++++- devcloud/mcenter/apps/user/README.md | 44 +++++++ devcloud/mcenter/apps/user/enum.go | 48 +++++++ devcloud/mcenter/apps/user/image.png | Bin 0 -> 158100 bytes devcloud/mcenter/apps/user/impl/impl.go | 34 +++++ devcloud/mcenter/apps/user/impl/impl_test.go | 1 + devcloud/mcenter/apps/user/impl/user.go | 109 +++++++++++++++ devcloud/mcenter/apps/user/impl/user_test.go | 1 + devcloud/mcenter/apps/user/interface.go | 83 ++++++++++++ devcloud/mcenter/apps/user/model.go | 124 ++++++++++++++++++ 16 files changed, 636 insertions(+), 5 deletions(-) create mode 100644 devcloud/etc/application.toml create mode 100644 devcloud/mcenter/apps/token/impl/impl.go create mode 100644 devcloud/mcenter/apps/token/impl/token.go create mode 100644 devcloud/mcenter/apps/user/enum.go create mode 100644 devcloud/mcenter/apps/user/image.png create mode 100644 devcloud/mcenter/apps/user/impl/impl.go create mode 100644 devcloud/mcenter/apps/user/impl/impl_test.go create mode 100644 devcloud/mcenter/apps/user/impl/user.go create mode 100644 devcloud/mcenter/apps/user/impl/user_test.go create mode 100644 devcloud/mcenter/apps/user/interface.go create mode 100644 devcloud/mcenter/apps/user/model.go diff --git a/devcloud/etc/application.toml b/devcloud/etc/application.toml new file mode 100644 index 0000000..dfc8587 --- /dev/null +++ b/devcloud/etc/application.toml @@ -0,0 +1,20 @@ +[app] + name = "devcloud" + description = "app desc" + address = "localhost" + encrypt_key = "defualt app encrypt key" + +[datasource] + provider = "mysql" + host = "127.0.0.1" + port = 3306 + database = "devcloud_go18" + username = "root" + password = "123456" + auto_migrate = true + debug = true + +[http] + host = "127.0.0.1" + port = 8080 + path_prefix = "api" \ No newline at end of file diff --git a/devcloud/mcenter/apps/token/README.md b/devcloud/mcenter/apps/token/README.md index b885cc7..2f9dbcf 100644 --- a/devcloud/mcenter/apps/token/README.md +++ b/devcloud/mcenter/apps/token/README.md @@ -4,7 +4,7 @@ + 撤销访问令牌: 令牌失效了 Logout + 校验访问令牌:检查令牌的合法性, 是不是伪造的 -## 详情设计的时候 +## 详情设计 字段(业务需求) @@ -18,3 +18,18 @@ 问题: 无刷新功能, 令牌到期了,自动退出了, 过期时间设置长一点, 长时间不过期 又有安全问题 1. 业务功能: 令牌的刷新, 令牌过期了过后,允许用户进行刷新(需要使用刷新Token来刷新, 刷新Token也是需要有过期时间, 这个时间决定回话长度),有了刷新token用户不会出现 使用中被中断的情况, 并且长时间未使用,系统也户自动退出(刷新Token过期) + +## 转化为接口定义 + +```go +type Service interface { + // 颁发访问令牌: Login + IssueToken(context.Context, *IssueTokenRequest) (*Token, error) + // 撤销访问令牌: 令牌失效了 Logout + RevolkToken(context.Context, *RevolkTokenRequest) (*Token, error) + + // 校验访问令牌:检查令牌的合法性, 是不是伪造的 + ValiateToken(context.Context, *ValiateTokenRequest) (*Token, error) +} +``` + diff --git a/devcloud/mcenter/apps/token/docs/refresh.drawio b/devcloud/mcenter/apps/token/docs/refresh.drawio index e69de29..a78764e 100644 --- a/devcloud/mcenter/apps/token/docs/refresh.drawio +++ b/devcloud/mcenter/apps/token/docs/refresh.drawio @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/devcloud/mcenter/apps/token/impl/impl.go b/devcloud/mcenter/apps/token/impl/impl.go new file mode 100644 index 0000000..4f9d22e --- /dev/null +++ b/devcloud/mcenter/apps/token/impl/impl.go @@ -0,0 +1 @@ +package impl diff --git a/devcloud/mcenter/apps/token/impl/token.go b/devcloud/mcenter/apps/token/impl/token.go new file mode 100644 index 0000000..4f9d22e --- /dev/null +++ b/devcloud/mcenter/apps/token/impl/token.go @@ -0,0 +1 @@ +package impl diff --git a/devcloud/mcenter/apps/token/interfaceg.go b/devcloud/mcenter/apps/token/interfaceg.go index aedc9dd..8485347 100644 --- a/devcloud/mcenter/apps/token/interfaceg.go +++ b/devcloud/mcenter/apps/token/interfaceg.go @@ -12,7 +12,7 @@ type Service interface { RevolkToken(context.Context, *RevolkTokenRequest) (*Token, error) // 校验访问令牌:检查令牌的合法性, 是不是伪造的 - ValidateToken(context.Context, *ValidateTokenRequest) (*Token, error) + ValiateToken(context.Context, *ValiateTokenRequest) (*Token, error) } // 用户会给我们 用户的身份凭证,用于换取Token @@ -63,8 +63,25 @@ func (p IssueParameter) SetAccessToken(v string) { p["access_token"] = v } -type RevolkTokenRequest struct { +func NewRevolkTokenRequest(at, rk string) *RevolkTokenRequest { + return &RevolkTokenRequest{ + AccessToken: at, + RefreshToken: rk, + } } -type ValidateTokenRequest struct { +// 万一的Token泄露, 不知道refresh_token,也没法推出 +type RevolkTokenRequest struct { + AccessToken string `json:"access_token"` + RefreshToken string `json:"refresh_token"` +} + +func NewValiateTokenRequest(accessToken string) *ValiateTokenRequest { + return &ValiateTokenRequest{ + AccessToken: accessToken, + } +} + +type ValiateTokenRequest struct { + AccessToken string `json:"access_token"` } diff --git a/devcloud/mcenter/apps/token/model.go b/devcloud/mcenter/apps/token/model.go index 28c454e..eb3a805 100644 --- a/devcloud/mcenter/apps/token/model.go +++ b/devcloud/mcenter/apps/token/model.go @@ -1,6 +1,12 @@ package token -import "time" +import ( + "fmt" + "time" + + "github.com/infraboard/mcube/v2/exception" + "github.com/infraboard/mcube/v2/tools/pretty" +) // 需要存储到数据库里面的对象(表) @@ -41,6 +47,97 @@ type Token struct { Extras map[string]string `json:"extras" gorm:"column:extras;serializer:json;type:json" description:"其他扩展信息"` } +func (t *Token) TableName() string { + return "tokens" +} + +// 判断访问令牌是否过期,没设置代表用不过期 +func (t *Token) IsAccessTokenExpired() error { + if t.AccessTokenExpiredAt != nil { + // now expiredTime + expiredSeconds := time.Since(*t.AccessTokenExpiredAt).Seconds() + if expiredSeconds > 0 { + return exception.NewAccessTokenExpired("access token %s 过期了 %f秒", + t.AccessToken, expiredSeconds) + } + } + + return nil +} + +// 判断刷新Token是否过期 +func (t *Token) IsRreshTokenExpired() error { + if t.RefreshTokenExpiredAt != nil { + expiredSeconds := time.Since(*t.RefreshTokenExpiredAt).Seconds() + if expiredSeconds > 0 { + return exception.NewRefreshTokenExpired("refresh token %s 过期了 %f秒", + t.RefreshToken, expiredSeconds) + } + } + + return nil +} + +// 刷新Token的过期时间 是一个系统配置, 刷新token的过期时间 > 访问token的时间 +// 给一些默认设置: 刷新token的过期时间 = 访问token的时间 * 4 +func (t *Token) SetExpiredAtByDuration(duration time.Duration, refreshMulti uint) { + t.SetAccessTokenExpiredAt(time.Now().Add(duration)) + t.SetRefreshTokenExpiredAt(time.Now().Add(duration * time.Duration(refreshMulti))) +} + +func (t *Token) SetAccessTokenExpiredAt(v time.Time) { + t.AccessTokenExpiredAt = &v +} + +func (t *Token) SetRefreshAt(v time.Time) { + t.RefreshAt = &v +} + +func (t *Token) AccessTokenExpiredTTL() int { + if t.AccessTokenExpiredAt != nil { + return int(t.AccessTokenExpiredAt.Sub(t.IssueAt).Seconds()) + } + return 0 +} + +func (t *Token) SetRefreshTokenExpiredAt(v time.Time) { + t.RefreshTokenExpiredAt = &v +} + +func (t *Token) String() string { + return pretty.ToJSON(t) +} + +func (t *Token) SetIssuer(issuer string) *Token { + t.Issuer = issuer + return t +} + +func (t *Token) SetSource(source SOURCE) *Token { + t.Source = source + return t +} + +func (t *Token) UserIdString() string { + return fmt.Sprintf("%d", t.UserId) +} + +func (t *Token) CheckRefreshToken(refreshToken string) error { + if t.RefreshToken != refreshToken { + return exception.NewPermissionDeny("refresh token not conrect") + } + return nil +} + +func (t *Token) Lock(l LOCK_TYPE, reason string) { + if t.Status == nil { + t.Status = NewStatus() + } + t.Status.LockType = l + t.Status.LockReason = reason + t.Status.SetLockAt(time.Now()) +} + func NewStatus() *Status { return &Status{} } diff --git a/devcloud/mcenter/apps/user/README.md b/devcloud/mcenter/apps/user/README.md index abce439..7813db2 100644 --- a/devcloud/mcenter/apps/user/README.md +++ b/devcloud/mcenter/apps/user/README.md @@ -1,2 +1,46 @@ # 用户管理 ++ 创建用户 ++ 删除用户 ++ 更新用户 ++ 用户列表 ++ 用户详情 ++ 重置密码 + +## 详情设计 + +```go +// 定义User包的能力 就是接口定义 +// 站在使用放的角度来定义的 userSvc.Create(ctx, req), userSvc.DeleteUser(id) +// 接口定义好了,不要试图 随意修改接口, 要保证接口的兼容性 +type Service interface { + // 创建用户 + CreateUser(context.Context, *CreateUserRequest) (*User, error) + // 删除用户 + DeleteUser(context.Context, *DeleteUserRequest) (*User, error) + // 查询用户详情 + DescribeUser(context.Context, *DescribeUserRequest) (*User, error) + // 查询用户列表 + QueryUser(context.Context, *QueryUserRequest) (*types.Set[*User], error) +} +``` + +### 业务功能 + +加解迷的方式有分类: +1. Hash (消息摘要): 单向Hash, 可以通过原文 获取摘要信息,但是无法通过摘要信息推断原文, 只要摘要信息相同,原文就相同: md5, sha*, bcrypt ... +2. 对称加解密: 加密和解密的秘密(key) 用于数据的加解密文 +3. 非对称加解密: 加密(公钥)和解密(私用)不是用的同一个秘密, 用于密码的加解密 + +1. 用户密码怎么存储的问题, 存储用户密码的hash,避免直接存储用户密码。 11111 -> abcd, 可能导致 用户的秘密在其他平台泄露 知道了这个影视关系abcd --> 1111, +能不能有什么办法解决这个问题, 加盐: 相同密码 --> 每次hash会产生不同的结果 + +![alt text](image.png) + + +password --> hash +password + 随机字符串(salt) --> (salt)hash它也是随机 + +输入: password + 随机字符串(salt: 原来hash中的sal部分) == hash它也是随机(数据库) + + diff --git a/devcloud/mcenter/apps/user/enum.go b/devcloud/mcenter/apps/user/enum.go new file mode 100644 index 0000000..caffafd --- /dev/null +++ b/devcloud/mcenter/apps/user/enum.go @@ -0,0 +1,48 @@ +package user + +type PROVIDER int32 + +const ( + // 本地数据库 + PROVIDER_LOCAL PROVIDER = 0 + // 来源LDAP + PROVIDER_LDAP PROVIDER = 1 + // 来源飞书 + PROVIDER_FEISHU PROVIDER = 2 + // 来源钉钉 + PROVIDER_DINGDING PROVIDER = 3 + // 来源企业微信 + PROVIDER_WECHAT_WORK PROVIDER = 4 +) + +type CEATE_TYPE int + +const ( + // 系统初始化 + CREATE_TYPE_INIT = iota + // 管理员创建 + CREATE_TYPE_ADMIN + // 用户自己注册 + CREATE_TYPE_REGISTRY +) + +type TYPE int32 + +const ( + TYPE_SUB TYPE = 0 +) + +type SEX int + +const ( + SEX_UNKNOWN = iota + SEX_MALE + SEX_FEMALE +) + +type DESCRIBE_BY int + +const ( + DESCRIBE_BY_ID DESCRIBE_BY = iota + DESCRIBE_BY_USERNAME +) diff --git a/devcloud/mcenter/apps/user/image.png b/devcloud/mcenter/apps/user/image.png new file mode 100644 index 0000000000000000000000000000000000000000..c88d1497a9b591106898f7aa3b34849774a8be34 GIT binary patch literal 158100 zcmZs@b95$Kvp5`cl030(+mngyiIa(qCpIUxZBCMjZQHhO+xgA8-}l~g?!D)aUc0+% zuU*)+s;aAMcc_A#I076F90&*qf~17VcMuSWDi9D*E*P*sZ~9U)!~P7Q4&TLvKq@Bi zj{iJ}7^_Q~$jXAy{JDn#0Sz_>f%t36p9|;D1p)$|0}2BEX9WH0T@KiPpb%9#;QzS? z<@#%4EdNmu2#5fPq==xhE9hCfOY+`O?EdK#Ok$0Qi`rvM@4B0V^X4-5>w9M(?`8CQ zBQI};c^th|0URtsTXr)v34l5+ab87RGRb!s2BK$sr$xM8`-cN-nBN-xB%=n0X(15|7Bt;T<8xBlYN~>{hy5g|D-*@P!X>g=9>Ns6P}8H zU~hSaTF|Bc!ao5hd4LDqoy@;5!3gJj6^>K>uMAR#2rN21K3KT6TV68GI@3QAB-GWr zWw|uUsadJ1qxZA|j?w>x%nq2pwh4K*%wPFmIAr)EnM;E_wSN;g$$yDkrWW!0zfjux zhr_n;P#wj8Su|WgAV1>2P{iPw5NLfGzT6NS6Rv(DneQ?`e#OWheE9r5 z|A}Swt>CO^;IP_@=WLRRW`z%Vl0d6DN$tNE_Ko)I+V-jBmrB$O{m<^&{_KiDAn?p3 z{G0HtTap~O?ZbXutk~#h0>9y`J_zD7rQY{_Mf$!-0&)SAngha`#Hf7FzFYzLWJ5eYGdG497=y zM;ouK^DD#AO&hn_F1@Eq-NSZ#4-!oLZ^CldmOKYc&k(5I@sm?v4U%5+@d$R<$p=A6+LYv4QUWyJJm*|cWn?mINRzreKpmQty^ zo)yva-dsYE#)2_m4Lp;xrqANd#1^XirS3BFmI&|P@PL1`>gD*36glBUa`Y-xt>5}? z?Dda5o{aos6ejt=S3W9*^oscPT$~Gk%c$X0TCXfv@=mULN#pX?-gnWQx5x{?7>oF; zUc^O$r>{nSR`0KCyXd~U7fgS=S^qBb=$D)2d-5zJKw{!fN$$Rno>I1K5N^_1w8pae3(y-qGgBUlwZNT$re@{ZpZFHIs_om__$A%-?0Nm*<%Q5UQF-Q^eTkmZ z>TT+Bh3F@i*g)&*lwoVh{y#|BCH+Inu3-uL#{rC^_AHyzDu520IaW)>nQ$?E6pl;yBMt35I_3Ru!~5`#k$^D@^&#s@)8^K=)JyK~wDex@%`& zULJxshTJUlH>|o8Ze>a4j=ee^gQ^D=cj)q8-ks$7T2&%VdlXX%7cL1758Sru^`WK` zF@YAv9==ZaD~Id~qaQo{ZKs~}AToT`x=_3;(-Ht3m@=A2u%uI|6&zFDg%@dgwBb?F z4>8#Ru2DCjes%4xmPBuQK@W8fd98yb7w1nE{Maq4lJM=-4E6WMR(wdQdF0-%YvW#8HK+RKU(nVFzJaM*?Kpa+JFlF88a^cUoFGr7n}7dpS5}J zvhL+q>n&)NWdcO$?+B0(E!)#bdp|YL7!kueHr@C!wL;Fs-$Gy08!20>hwgh1*3Q;0 zidubi<#n??E`>&25H0FA&sNqGlb`F~V^J$wu=hj~fF^4kYvSK> zrCuk7FrxNlK3-q;BD9~qZG;~a?+P1D>Ge7fWoJtL;h=-=^--H<5Ez>psMf#h^KuyI z&sqcDB9%MX`_}0j5&uqPiGX;$ST+mwjvnR4nT&t!qr#uReXZn2pt#FVfB6 zOOKDo{|F24h-|O8?tMQ!Z?d&6%%KnVwd=2v?3+qeVYfloUbbzJK$(U4&P*ofxWWw* zp;9s)2KCgM-?%jEs2*>zRywlktE#1mqdefT!sm$`xN(=ONu_I@zf$7}k#V%FF;wDR z>{k4oyY1?ru0B9&R@*FYTEza~S&dP~*K?JACs1vCn``8#2cnGViISTW;G8}AzXy|C zwRDUCgZFOezv~A>kuN1}MJfr_@jHKhzr$>}oMUYo)_g#OX1EP}gKYcG?>bYOgK8?+ z{Ohxm*U9l(bw8N!-0UIQ8ezoCu5_%UuI`X($XY$-`*AM;Y$M>s194d2XC7?cXQ`7= zwXX9bi2H2}eIX&C)8QxDS(x`oo}ufi@LspK#o5bRRIm5>LUg)y__pm#0mM(Fm$k*+ zl8s8|#Zs^I3yZz&n?N}w4zjEJL-H4wV+HHl})>9Nt$ zn6TPJp3zzNV;+?<`8=%q;YYrK;v%05AdJ?iJ8gO4ZnH#e;$q_)LJg;Ny;Ly{#Fy1{ zlnMaGvmV!s-sd$&tUa2+W_T6{LUDgZtG&JDT!jak$*uaQsYNFOFKTsQd}vjjr+PYW za_QVgM``Ef3cU%5(y~uI?dY)c!r30;By}5Pw;Tg`xzfdkWkQd$+fubcZDIm&T+ZEz zTzfN!Z!^-XGpoU6xv`b85o!i==^IN`{Jx`!bVh*a`PG^D)aLHS?qePjckj$Nl01VW_PIvfFFW{QTC*VQ!pHbj99I%_dq|c{L7dkKU073-! z@*{JSpDOEuYkl4>g`X3yPPlaqXJDl(sjnG$EU4H?w)D)u-PS*hLJa*`44MOWQy;4n z9>qkgF&=qyNx$KsXP%2rR3HFd#g@UTHIwo!y~Zz!F3y0DyO?PU$h6SXKdX;P7r?n{s8cz+(B51oySbDzH*;NqofWb6d}j*zm_GsFy7o zyUGR*9SGFd2U^`?qa`Y?+3ifa2B6}t3i4i7%`(Rt>a`{1(-N%z`R)TOzuH4h>jL9$?7b6UV%S`C@>q~;eDvyow zLC5|)K9KaOi{iNnL0hO3v8UQzO&B=z^R76NFQeWG&uUv^#->eE%fm#dP6|4oskj4n z10UI`ymj<3WAk`5$M2EHNtPFbKHdyjP!+uZ5|?<=9@?zRCWw47(IGY-TdjFeLf#U6dIF$oSsC?XZyrvFs045@PDRE(GZ(#5PeL$o^WdT23Y&F*+oa zJq+F`Ijq`1L5U39o(4j~1)Jldw`V_RYmQrMhi#`{uu`n=X)1!4jrTqsoTCBVUF8{3 z+?@MyiP>9#vFMQxHtToqr(9U)?8?cNn!iQdhV)0oo6zL+w|B^ZTGVuOhFvMY>v=sQPrHV?VfHT)iMoTpK53>YJW?OlQX#iXqv8A(~) ze8tcNO^F_7F~Plp+(z<+Oq8RrxwK@-{uqhr6MLuk{hwKVIxO7R`KYY<@b zeh>yiKLkezu!*^?Lx6bf;Vzd?Fd}o$uipf<+lzziqX%;(EbzZP-v1-ox#xPW| za?kAX%F*%3(tY{mk}|Pzvo~2DzDPv~T)#!liqC^(1s) z`c)OHXX_@{gr#pK`O@39L+L?)o|VFeTfqCs{Jho^=zH*?OjPz_{pBF+{PIcwj3Ncw z6JAANI!Cy3CM{!9JcRqY$#ht@kNM4;N zcf}>5c}7@<7Da*OwV|H<#jjNby;$g9aa=qv6OO2}6kFhJGj&E)Yboi35oP2GH=N69 zJwMmdTyNg8WjHx>$TEG)Sf>Qkck`p=@@ka@@zWdVtkd3T^q3*+@aeoh1E3MgP&7ne z=Xaneg(|*E08AKxh{1H(^dj~>A}iL4KY?KvVRI&oD;}@qacd;eU#+m4Gx=SHL|4HH zY6O0arZ;}_AhwwIp$4Tso^?7C1Sr5gdc`nYT5rzJEEfJVvQhra4Jn%lyYln4 zA1IAazgapQo$kl)(tS7%@Km?<*q72Nb;=gcSADeUF@B736zki&YA-2&I=H{B`P@gQ zwq2#yP6&JSsRrku7q*lwZYGCk=TDTDj<@_skmbhDE*zew;^X|rR&ysV4g?5$*e0MQ zQ6>n50KO>ANX63tHvcgVxfM#Lx4 z#v-b|DR4-VqMo@+$c~wyiRS7ipO)_LXXoFTc4jQPEntW)Vz|a=Mz3(GzaM44=VN;r z<|$QLwS~B=?e7G;-cRgF7v`9y$p(rn$g~*4s7xFjJn^DtW7}AXv7T&Sg9AeiOF%4< z#48#IFTCJoS)sBV#uL#;A~qa{ zZy>~7CMZkL==;udMy1dpII$=q zs^Kj@+JYiYnNs;UtL8++5Hg38fp)-~Mje2fH{62?3=o)qmHH%~v{>A#ijAAPHP?~_ zXYTvKtY?-yg-ARg!!CoYuGJB@d$Hz3<$>D}r@CA+lyrK!s91k}!eOyY2qOqIgAuu9 zA%xBiErb#`(9}zHWFIwqzBsH?Z!G_+*u}bZNu%pL#qM?*TIhC`9zec5V8(l;!|42L zIgV}!qvjwOMOArk5Qh(KT}7389b~MbFr6bcBmx0?9tgh!7~OJPub((Epbwp*bbz>k zwgT8%GxGaJ;q0kcCl*WBP@HXO{$9X;V9?L)Au#uLX0vXYDot{VUD&S)zXbuNFtkwX z*&nlO*Oxz{8eDd`yg!Z~wf-Gyybb)7jgACeJorWrCIs0}fUY7ncH}u*mb6b(D#eJ+ z7hdRNHh5@fPog|k)=nW$g*w^tR9cblv<^c>@M<{f++ydJ+DW1cQ?Adl`edZE@JCO6 z-myl;*ioG^j7DmEc`|>3LiY>L*$qT&gm;h1Q7Dtv@~H8+O-cUhG*2`1FF13!JdO2seKHbpp#%*^RiiuS~uY6sS@b)<3CagO?E@>rMs)YB|P?mS!3+B0Sf9_IR7~ z?*Q7iks(k8F}p+WMI=w_EtB!~q&|w%SXl73BNB+N%6^a*Ba;+#8ZV)H+dP-0{d)0nKFQwy(!Ybu$DW@f`~zjS=uj~MCv*yTSw`K z`+3d7&heQgKTnX)lCOowU|W0%WE2dy{qaRa8@xU1BSI{HDSCwC_UioWt4Yt*jw!_swE(b&)@J`# zdd`oHgi&ME_EfULjWhC9ywEt!ZKSuiR^$kpNSQPo2`i4v1DzCYG|prBSjnEzNR?$sUyb2IdEwem?1@K} z#rAi;rZI_yIeQ}{4TTbGNj@SBD@(|yAbKEk47bjs2gY9_HupCtuAur#^O(Cj>!A{l zWPPU|TXPC9FlZOV*J!C?VxVIXUU{{BkI3Ruz4n53Ufb7Mf|OS^miiI zHSCX-@(ioZ^Lo*PXmBoankWMn0MyVCBhLm|;#0Z3raA0{y`lYn1#poFy>B6*Ad&VV zRnW_{vdp)TKSZd+mvxd%6nFy!4@vlOgiU^YL9w_P{}Gx=vJ6x0&bX1Hw{IG*=WuLO z5ofzbzv$$F&cS+n*4JkRL&sb!tc;-#Wx!c`9D{@WQsd&o{5*O4ti}4=5+x@VZ>k;a zlJ}>sf=4MXx#o#p;}H{q$^YrGs#D*T3r8)opPybw&yop&&3^s#d^u>k3DmEM~*TGm~?~Z`^06)MVv;7w@hXuye8306Qb7^!>KRp=ld&{1lA#ZU&v98 z$qd>1 zfd5n+ia&*3zY~TLu9A&~ess?!&u{|s&2k`iTmuBw)|#Gxnt~GXhb5LPQ&tKW8@5he zsgtSzrs<%#BA%MY0XuEwaEVFk{-`j0bB<=F-@w3P*i7A46jDi6y4!@Dm)TSG zTQwghvfHRcGrNC8i&mWa4FpdkOYFCdR<_>DYjf+`9PmQY!R22YMckhS8Zy4L+y(@7 zw>@|T+J~$KTlEn1w5|4ZS1&{XEs-od=7?`uU`RUwcb~75-U3j;Ma5YDe7a z66~s?Ev~OfxywO;W+82_(b8G&ccUK9uugR-K!_Rxhy$p#1)=J%t3E3v@6 z6i`EOizu6)KKOD;XoA_yE|hn=165@wirZ+NzwcmL4Ak1XABYcTxlt6T)O5N4l@|94 z=?i+V7d_z5ahK{cU>EW{C*SCIE1Q8MsHsjUm3^YGlIrHPoKWdSHKFw4vqt#6GPL=1^86*-d*M zqC$4&N(GNUT->+0nFZJHXhOC+_KHR5P+g}Q`yErgy_ZZP3arMZ%rv*rVpO)zd!2{1 zT*0el;srpB?b+P=DS06{{g2iPR~DExLwdf{4s&rdUnJ445f)bjo>{zontt0#8<`KU zc7|R%Wbr|jNEh9JWg06)%MIGmofbNulBCZKhRtCPu4}G@{E||O#Gw3YP7nRKRP`kx z%EyQy3sbX*DH`W}mGFBcK{xISDYWtm(YkJ_4Ws80n2P+nNBz5UOg#Pi$CEru2o6PI zBH4BcBHes*rk?(Um;wc%1pFDU2z{U(88utW_0IXDUM{ zb{SbHBv1i$DaDGuR3AG6EF8Z_>9r3r(lYwo{aakDB+V`+#RMOorGFqGm*c!ea&_YC zobr*NPe?!GT7NF+y@p$NONrV>i$$v}!mpc37{`@;?fA&n@mjq%^r-Car3Bf`D^kJj)H8_kb`n zj!*qGbYfTABeF3hx|WVm!za_Ukq!|vx~3r`;Om!P;d*pQ;J4-E_8}f1xE``24Ppv5 z0SGmGND#T#%$&Qek`!OmNd%2yyp=|+dysL@n=;WN8c;?(oE`M8V>OacX^6VuEgW0D zZ!7hm8!ARBDyA3DQ1%C^=#r;wkuVpGa9+sB3viF7f$)fQ3UvxCHlIriORh?_&ntM* zt^?v|*x}P6sTBO%(0ZL3)d*!YvN8Dk!zMS%lZt zzs$p{vt*ZX4#;cmBdE&MTTVKrzvJuY%^$bPvH>l8ZW044J=ul zGfz?-0#LAN!uh&kg4j*TziF}hH{e&DU*ggnQBroSxPMHAgtKg_ka#-Iw|IJ;!THtV zmfs~TJkMT-y~4H(2sR}+onlMrR-_48tHNBly&0S-Sc}H|1Vj>IuEYUcQ$5Kcp(88E z>|^n2DcM5>tEnu^G~{nTYKB>zhI%fdkA8heN6fRY1Ws1)7e*t+#iDR(njPkKeEhDc ztSO!y)w~>-aQx!D}3^uaZ-(%gF(M@aHm)|r##qvwEpv=zlv%_T@aL_2cD=#o)4Pv}R+eSvLFqqEg z(HX6+ZX+B3emxd`9z-J|;K)IEOmWruanV_+`#I^XQb#s$D=zDq@b%T%{=p)%KYtm1 zP1MEEAs{k(=Q?y?5ULCA1FI0>_lB(!nFQ4?F(=eS{u#cZ4G|RIw&E#F@MKF=PD)P) zRK%ESq`PQ^(@#A>cuwQ9 zv{qZc$E=M1O)x)+vaI-|*e>SqHD{*FS_s_X5Yb1qLU`_cG_--mNCKSfll{&8=XxKd zEL*5u_WSiGY|`bMfl4==O~uYrTh`D(cgVZBFMntrn%Ke?V02+*_xAE5J(ZtzlyHoM z#8_fJXu8yggYolMq@2CTqT>NNyMv~fo9cwT*zVEer-8{QJ-fJZi25Rc!IYgZ?a5p~ zF9%c$BMFjfO2#!$ONkR*TB3|0VAK1@~lz}O&G&#QdnW^2Wf2zyt z?sjudIIb`n}KRLH_s*Y5TY{Couh>hs`F9^D|%L6U|gb-Fdz>yw8K!x{hr1 zPTZ;(feaEF37um1b~9LF^IDOMTYuMB?V$ADqCO*EP2OZOO7~;K^PYE^MUx>n&2*dd zEnwv*LrrcSlYZ);c6<(;%}x5^?)0UMNQy=l+mHj8h-IJZwfR7;Mpkr)O|6$QxGaH8 zgm&G_KN>3yO7IA72&X=54-IzLUGzllpRJ!;oi4)8;b@85kQCb=9{mIa1cp#$&RO6p z+f|k-9F$^!*7~+!^cd@V77uTo5W9!!^SOla3{w$G{;BZvq#>lK9mKpSeJH1iP5C0b zL^>wYQV`Q#XW2(FLUgYEUxH}KihF z8Y5W;br{et-pTAVs275PI;yhkN{`rwHf?St3I=a`w$AtV(hKoU#hv28xWz*F0- z&ugGY&o{#n72UJfgjiI?yCgG}*aIb)joeEli>q>`?YTI?*oIK!fF|-gJL{!yG!{P; ztZ8hpLh(Q%=tt_jD6bDHa>HPF@3lFX+jQY%+f@n!5gezl!Y#8)^(^|k;!Ix78p`nP zQr{tkTWGYo1lHVrTH=lw4kZY9bgKt><_o7ogwIZK9Tosnv8v2p*ETW^`{l&AOV=>pN(+FG!GgHFm!4F~-Nv}WQv@Knsw4L<EIAc*f)t`~l2zX&k;+byRvj6$hVUWU{Da zk}qq#FD2Hnn!>kF2qtl>T_$=(h>WQVxgE)yjsH9904f2 zi8BvOlMX0yRpj*8kuq^HLRIM9ba2_7bd{aKpi*daEg}QAxL8``doionD81snHcp!_QO3I-!i2~%ALaFhqp$8ZjwA{}VbWW)$(iU2WWOOGs^ z<&n`sqLgb$vzD&KDHvs`zxfF&$}q6a;W|J#ZB8C!`I6W1@|&)P46(0Yy=AC?iGw0G zgk2)jY#x8C;kTNfjvVgLj#5Qa@j z7snZWLeb8SlMhy6ibPU50Ed-?gY%|`R(MMu&B_gmSl6G!2h6im+1c#qzZ-9JV7{{d z)e&2dJ^kS+1JU;sr~@#*J}TwFCf<5JrWvYOeOnohzW^s7ttn1R%8lu}gt7x6k#2u)hl zS@>$oPLI{c3|n%s-?ywVh?9t@bP^K6w#$8|Mv+dI(Nn8-EBIxdC6Qe}&ud_VI(>AT zRgEBIWP2?F@9YtLE0d_-DKxz-9F${ErM^2pLG-se@uf;z?QN*;J+4f=!*p7uWVApy zlGPv*J%THXZKNnXMPWQaDi9t6LVPy17}#yrh!ytC0m;_uu)L5JxBC~})@2s@PUhLl z-h?Citfm7v`c?Ck3WJwj%>=KXKX+Lr@4`T8jkob*!wqI4Ct5=y!}xv~f|2P4^x+_E zuT-7hqlYrId2)y4qd-CXiYSuV|K{=^as7orF|JBv6(bIkF593PXF-DRk?%;xtOk1_ zMU_Jzi3#HZ{SHn7JBYfq%*}lEeoL98f+6Xc7Nt8TSx(JEn=XVbvg%$>780x0!TRh6 zA||_05h$TXysEk%>br00Se)4OTeZtLzaV33$Bc#DHEbY12p|#X4{6R~E`vqvilMl^ zmCkFk;kg-9YZg#xhB-EXjO^mN&=n*$?Ig)1c}I?2kM~AZJg?vN+>K&Key8$}>FoP&URo^3G?3p-8g#HlD?x!WX9%paiwiNrwWFpWX9mJpuPr|K^bg~ZceOWzN*RSarX@%jlb1w?4dC4FI4YFuG!eQ zR2qm0JMM8Eag_;N2wm*~I(#d%s_@NP6B{w{9X?O2X+IURWc%0Atc+WmN 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 CQ(B|| literal 0 HcmV?d00001 diff --git a/devcloud/mcenter/apps/user/impl/impl.go b/devcloud/mcenter/apps/user/impl/impl.go new file mode 100644 index 0000000..bfc784e --- /dev/null +++ b/devcloud/mcenter/apps/user/impl/impl.go @@ -0,0 +1,34 @@ +package impl + +import ( + "122.51.31.227/go-course/go18/devcloud/mcenter/apps/user" + "github.com/infraboard/mcube/v2/ioc" + "github.com/infraboard/mcube/v2/ioc/config/datasource" +) + +func init() { + ioc.Controller().Registry(&UserServiceImpl{}) +} + +var _ user.Service = (*UserServiceImpl)(nil) + +// 他是user service 服务的控制器 +type UserServiceImpl struct { + ioc.ObjectImpl +} + +func (i *UserServiceImpl) Init() error { + // 自动创建表 + if datasource.Get().AutoMigrate { + err := datasource.DB().AutoMigrate(&user.User{}) + if err != nil { + return err + } + } + return nil +} + +// 定义托管到Ioc里面的名称 +func (i *UserServiceImpl) Name() string { + return user.APP_NAME +} diff --git a/devcloud/mcenter/apps/user/impl/impl_test.go b/devcloud/mcenter/apps/user/impl/impl_test.go new file mode 100644 index 0000000..ed680d2 --- /dev/null +++ b/devcloud/mcenter/apps/user/impl/impl_test.go @@ -0,0 +1 @@ +package impl_test diff --git a/devcloud/mcenter/apps/user/impl/user.go b/devcloud/mcenter/apps/user/impl/user.go new file mode 100644 index 0000000..74257c4 --- /dev/null +++ b/devcloud/mcenter/apps/user/impl/user.go @@ -0,0 +1,109 @@ +package impl + +import ( + "context" + + "122.51.31.227/go-course/go18/devcloud/mcenter/apps/user" + "github.com/infraboard/mcube/v2/exception" + "github.com/infraboard/mcube/v2/ioc/config/datasource" + "github.com/infraboard/mcube/v2/types" + "gorm.io/gorm" +) + +// 创建用户 +func (i *UserServiceImpl) CreateUser( + ctx context.Context, + req *user.CreateUserRequest) ( + *user.User, error) { + // 1. 校验用户参数 + if err := req.Validate(); err != nil { + return nil, err + } + + // 2. 生成一个User对象(ORM对象) + ins := user.NewUser(req) + + if err := datasource.DBFromCtx(ctx). + Create(ins). + Error; err != nil { + return nil, err + } + + // 4. 返回结果 + return ins, nil +} + +// 删除用户 +func (i *UserServiceImpl) DeleteUser( + ctx context.Context, + req *user.DeleteUserRequest, +) (*user.User, error) { + u, err := i.DescribeUser(ctx, + user.NewDescribeUserRequestById(req.Id)) + if err != nil { + return nil, err + } + + return u, datasource.DBFromCtx(ctx). + Where("id = ?", req.Id). + Delete(&user.User{}). + Error +} + +// 查询用户列表 +func (i *UserServiceImpl) QueryUser( + ctx context.Context, + req *user.QueryUserRequest) ( + *types.Set[*user.User], error) { + set := types.New[*user.User]() + + query := datasource.DBFromCtx(ctx).Model(&user.User{}) + + // 查询总量 + err := query.Count(&set.Total).Error + if err != nil { + return nil, err + } + + err = query. + Order("created_at desc"). + Offset(int(req.ComputeOffset())). + Limit(int(req.PageSize)). + Find(&set.Items). + Error + if err != nil { + return nil, err + } + + return set, nil +} + +// 查询用户详情 +func (i *UserServiceImpl) DescribeUser( + ctx context.Context, + req *user.DescribeUserRequest) ( + *user.User, error) { + + query := datasource.DBFromCtx(ctx) + + // 1. 构造我们的查询条件 + switch req.DescribeBy { + case user.DESCRIBE_BY_ID: + query = query.Where("id = ?", req.DescribeValue) + case user.DESCRIBE_BY_USERNAME: + query = query.Where("user_name = ?", req.DescribeValue) + } + + // SELECT * FROM `users` WHERE username = 'admin' ORDER BY `users`.`id` LIMIT 1 + ins := &user.User{} + if err := query.First(ins).Error; err != nil { + if err == gorm.ErrRecordNotFound { + return nil, exception.NewNotFound("user %s not found", req.DescribeValue) + } + return nil, err + } + + // 数据库里面存储的就是Hash + ins.SetIsHashed() + return ins, nil +} diff --git a/devcloud/mcenter/apps/user/impl/user_test.go b/devcloud/mcenter/apps/user/impl/user_test.go new file mode 100644 index 0000000..ed680d2 --- /dev/null +++ b/devcloud/mcenter/apps/user/impl/user_test.go @@ -0,0 +1 @@ +package impl_test diff --git a/devcloud/mcenter/apps/user/interface.go b/devcloud/mcenter/apps/user/interface.go new file mode 100644 index 0000000..4159aa4 --- /dev/null +++ b/devcloud/mcenter/apps/user/interface.go @@ -0,0 +1,83 @@ +package user + +import ( + "context" + "slices" + + "github.com/infraboard/mcube/v2/http/request" + "github.com/infraboard/mcube/v2/ioc" + "github.com/infraboard/mcube/v2/types" +) + +const ( + APP_NAME = "user" +) + +func GetService() Service { + return ioc.Controller().Get(APP_NAME).(Service) +} + +// 定义User包的能力 就是接口定义 +// 站在使用放的角度来定义的 userSvc.Create(ctx, req), userSvc.DeleteUser(id) +// 接口定义好了,不要试图 随意修改接口, 要保证接口的兼容性 +type Service interface { + // 创建用户 + CreateUser(context.Context, *CreateUserRequest) (*User, error) + // 删除用户 + DeleteUser(context.Context, *DeleteUserRequest) (*User, error) + // 查询用户详情 + DescribeUser(context.Context, *DescribeUserRequest) (*User, error) + // 查询用户列表 + QueryUser(context.Context, *QueryUserRequest) (*types.Set[*User], error) +} + +func NewQueryUserRequest() *QueryUserRequest { + return &QueryUserRequest{ + PageRequest: request.NewDefaultPageRequest(), + UserIds: []uint64{}, + } +} + +type QueryUserRequest struct { + *request.PageRequest + UserIds []uint64 `form:"user" json:"user"` +} + +func (r *QueryUserRequest) AddUser(userIds ...uint64) *QueryUserRequest { + for _, uid := range userIds { + if !slices.Contains(r.UserIds, uid) { + r.UserIds = append(r.UserIds, uid) + } + } + return r +} + +func NewDescribeUserRequestById(id string) *DescribeUserRequest { + return &DescribeUserRequest{ + DescribeValue: id, + } +} + +func NewDescribeUserRequestByUserName(username string) *DescribeUserRequest { + return &DescribeUserRequest{ + DescribeBy: DESCRIBE_BY_USERNAME, + DescribeValue: username, + } +} + +// 同时支持通过Id来查询,也要支持通过username来查询 +type DescribeUserRequest struct { + DescribeBy DESCRIBE_BY `json:"describe_by"` + DescribeValue string `json:"describe_value"` +} + +func NewDeleteUserRequest(id string) *DeleteUserRequest { + return &DeleteUserRequest{ + Id: id, + } +} + +// 删除用户的请求 +type DeleteUserRequest struct { + Id string `json:"id"` +} diff --git a/devcloud/mcenter/apps/user/model.go b/devcloud/mcenter/apps/user/model.go new file mode 100644 index 0000000..03448de --- /dev/null +++ b/devcloud/mcenter/apps/user/model.go @@ -0,0 +1,124 @@ +package user + +import ( + "encoding/json" + "fmt" + "time" + + "github.com/infraboard/modules/iam/apps" + "golang.org/x/crypto/bcrypt" +) + +func NewUser(req *CreateUserRequest) *User { + req.PasswordHash() + + return &User{ + ResourceMeta: *apps.NewResourceMeta(), + CreateUserRequest: *req, + } +} + +// 用于存放 存入数据库的对象(PO) +type User struct { + // 基础数据 + apps.ResourceMeta + // 用户传递过来的请求 + CreateUserRequest + + // 密码强度 + PwdIntensity int8 `json:"pwd_intensity" gorm:"column:pwd_intensity;type:tinyint(1);not null" optional:"true"` +} + +func (u *User) String() string { + dj, _ := json.Marshal(u) + return string(dj) +} + +// 判断该用户的密码是否正确 +func (u *User) CheckPassword(password string) error { + return bcrypt.CompareHashAndPassword([]byte(u.Password), []byte(password)) +} + +// 声明你这个对象存储在users表里面 +// orm 负责调用TableName() 来动态获取你这个对象要存储的表的名称 +func (u *User) TableName() string { + return "users" +} + +func NewCreateUserRequest() *CreateUserRequest { + return &CreateUserRequest{ + Extras: map[string]string{}, + } +} + +type CreateUserRequest struct { + // 账号提供方 + Provider PROVIDER `json:"provider" gorm:"column:provider;type:tinyint(1);not null;index" description:"账号提供方"` + // 创建方式 + CreateType CEATE_TYPE `json:"create_type" gorm:"column:create_type;type:tinyint(1);not null;index" optional:"true"` + // 用户名 + UserName string `json:"user_name" gorm:"column:user_name;type:varchar(100);not null;uniqueIndex" description:"用户名"` + // 密码(Hash过后的) + Password string `json:"password" gorm:"column:password;type:varchar(200);not null" description:"用户密码"` + // 用户描述 + Description string `json:"description" gorm:"column:description;type:varchar(200);not null" description:"用户描述"` + // 用户类型 + Type TYPE `json:"type" gorm:"column:type;type:varchar(200);not null" description:"用户类型"` + // 用户描述 + Domain string `json:"domain" gorm:"column:domain;type:varchar(200);" description:"用户所属域"` + + // 支持接口调用 + EnabledApi bool `json:"enabled_api" gorm:"column:enabled_api;type:tinyint(1)" optional:"true" description:"支持接口调用"` + // 是不是管理员 + IsAdmin bool `json:"is_admin" gorm:"column:is_admin;type:tinyint(1)" optional:"true" description:"是不是管理员"` + // 用户状态,01:正常,02:冻结 + Locked bool `json:"stat" gorm:"column:stat;type:tinyint(1)" optional:"true" description:"用户状态, 01:正常, 02:冻结"` + // 激活,1:激活,0:未激活 + Activate bool `json:"activate" gorm:"column:activate;type:tinyint(1)" optional:"true" description:"激活, 1: 激活, 0: 未激活"` + // 生日 + Birthday *time.Time `json:"birthday" gorm:"column:birthday;type:varchar(200)" optional:"true" description:"生日"` + // 昵称 + NickName string `json:"nick_name" gorm:"column:nick_name;type:varchar(200)" optional:"true" description:"昵称"` + // 头像图片 + UserIcon string `json:"user_icon" gorm:"column:user_icon;type:varchar(500)" optional:"true" description:"头像图片"` + // 性别, 1:男,2:女,0:保密 + Sex SEX `json:"sex" gorm:"column:sex;type:tinyint(1)" optional:"true" description:"性别, 1:男, 2:女, 0: 保密"` + + // 邮箱 + Email string `json:"email" gorm:"column:email;type:varchar(200);index" description:"邮箱" unique:"true"` + // 邮箱是否验证ok + IsEmailConfirmed bool `json:"is_email_confirmed" gorm:"column:is_email_confirmed;type:tinyint(1)" optional:"true" description:"邮箱是否验证ok"` + // 手机 + Mobile string `json:"mobile" gorm:"column:mobile;type:varchar(200);index" optional:"true" description:"手机" unique:"true"` + // 手机释放验证ok + IsMobileConfirmed bool `json:"is_mobile_confirmed" gorm:"column:is_mobile_confirmed;type:tinyint(1)" optional:"true" description:"手机释放验证ok"` + // 手机登录标识 + MobileTGC string `json:"mobile_tgc" gorm:"column:mobile_tgc;type:char(64)" optional:"true" description:"手机登录标识"` + // 标签 + Label string `json:"label" gorm:"column:label;type:varchar(200);index" optional:"true" description:"标签"` + // 其他扩展信息 + Extras map[string]string `json:"extras" gorm:"column:extras;serializer:json;type:json" optional:"true" description:"其他扩展信息"` + + isHashed bool `json:"-"` +} + +func (req *CreateUserRequest) SetIsHashed() { + req.isHashed = true +} + +func (req *CreateUserRequest) Validate() error { + if req.UserName == "" || req.Password == "" { + return fmt.Errorf("用户名或者密码需要填写") + } + return nil +} + +func (req *CreateUserRequest) PasswordHash() { + if req.isHashed { + return + } + + b, _ := bcrypt.GenerateFromPassword([]byte(req.Password), bcrypt.DefaultCost) + req.Password = string(b) + req.isHashed = true +}