diff --git a/pkg/service/security.go b/pkg/service/security.go
index 130f5b0..ade325e 100644
--- a/pkg/service/security.go
+++ b/pkg/service/security.go
@@ -47,7 +47,24 @@ type UserInfoHandle struct {
 	ctx       *context.Context
 	sessionId string
 }
+type UserInfo struct {
+	UserID    uint64
+	Username  string
+	AvatarURL string
+}
 
+func (usr UserInfoHandle) GetUserInfo() (userInfo UserInfo, err error) {
+	session, err := usr.svc.Client.GetSessionUser(*usr.ctx, &auth.IdMessage{
+		SessionID: usr.sessionId,
+	})
+	if err != nil {
+		return userInfo, err
+	}
+	userInfo.UserID = session.UserID
+	userInfo.Username = session.Username
+	userInfo.AvatarURL = session.AvatarURL
+	return userInfo, nil
+}
 func (usr UserInfoHandle) GetUserID() (uint64, error) {
 	session, err := usr.svc.Client.GetSessionUser(*usr.ctx, &auth.IdMessage{
 		SessionID: usr.sessionId,