Skills skill-user-auth
apiVersion: skill.ooder.net/v1
git clone https://github.com/oodercn/skills
skills/capabilities/auth/skill-user-auth/skill.yamlapiVersion: skill.ooder.net/v1 kind: Skill
metadata: id: skill-user-auth name: 鐢ㄦ埛璁よ瘉鏈嶅姟 version: "3.0.1" description: 鐢ㄦ埛璁よ瘉鏈嶅姟 - 鏀寔澶氱璁よ瘉鏂瑰紡(瀵嗙爜/Token/OAuth)銆佷細璇濈鐞嗐€乀oken鍒锋柊 author: ooder Team type: system-service license: Apache-2.0 homepage: https://gitee.com/ooderCN/skills/tree/main/skills/skill-user-auth repository: https://gitee.com/ooderCN/skills.git keywords: - authentication - user - login - token - session - oauth
spec: skillForm: PROVIDER type: service-skill
capability: category: org
ownership: platform
capability: address: 0x10 category: AUTH code: AUTH_LOCAL operations: [login, logout, validate, refresh, session-manage]
supportedSceneTypes: - user-auth - scene-activation - org-management
dynamicSceneTypes: true
autoStart: enabled: true delay: 2s
autoJoin: enabled: true matchSceneTypes: true maxSceneGroups: 10
runtime: language: java javaVersion: "8" framework: spring-boot mainClass: net.ooder.skill.user.auth.UserAuthSkillApplication
llmConfig: required: false defaultProvider: "deepseek" defaultModel: "deepseek-chat" capabilities: - chat - streaming - function-calling modelSelection: allowUserOverride: true availableProviders: - deepseek - openai - qianwen - volcengine - ollama functionCalling: enabled: true tools: - name: query_skill_capability description: "鏌ヨ褰撳墠鎶€鑳界殑鑳藉姏鍜屼娇鐢ㄦ柟锟? parameters: type: object properties: capability: type: string description: "鑳藉姏鍚嶇О" detail: type: string enum: [brief, detailed, examples] default: "brief" - name: execute_mvel_action description: "閫氳繃MVEL琛ㄨ揪寮忔墽琛屽悗鍙版搷锟? parameters: type: object properties: expression: type: string description: "MVEL琛ㄨ揪锟? context: type: object - name: generate_ui_form description: "鐢熸垚UI琛ㄥ崟渚涚敤鎴峰~锟? parameters: type: object properties: formType: type: string fields: type: array items: type: object - name: execute_batch_operation description: "鎵ц鎵归噺鎿嶄綔" parameters: type: object properties: operation: type: string items: type: array items: type: object - name: convert_to_javascript description: "杞崲涓篔avaScript浠g爜渚涚敤鎴蜂娇锟? parameters: type: object properties: action: type: string parameters: type: object toolChoice: auto rateLimits: requestsPerMinute: 60 tokensPerMinute: 100000
providedInterfaces: - id: user-authentication version: "1.0" description: "鐢ㄦ埛璁よ瘉鎺ュ彛" - id: token-management version: "1.0" description: "Token绠$悊鎺ュ彛"
capabilities: - id: user-auth name: 鐢ㄦ埛璁よ瘉 description: 鐢ㄦ埛璁よ瘉鐧诲綍 category: authentication - id: token-validate name: Token楠岃瘉 description: Token楠岃瘉 category: authentication - id: token-refresh name: Token鍒锋柊 description: Token鍒锋柊 category: authentication - id: session-manage name: 浼氳瘽绠$悊 description: 浼氳瘽绠$悊 category: session
scenes: - name: auth description: 璁よ瘉鍦烘櫙 capabilities: - user-auth - token-validate - token-refresh - session-manage
dependencies: []
config: optional: - name: AUTH_TOKEN_EXPIRE type: integer default: 3600 description: Token杩囨湡鏃堕棿(锟? - name: AUTH_REFRESH_ENABLED type: boolean default: true description: 鏄惁鍚敤Token鍒锋柊 - name: AUTH_REFRESH_EXPIRE type: integer default: 604800 description: Refresh Token杩囨湡鏃堕棿(锟? - name: AUTH_MAX_SESSIONS type: integer default: 5 description: 鏈€澶т細璇濇暟
endpoints: - path: /api/auth/login method: POST description: 鐢ㄦ埛鐧诲綍 capability: user-auth - path: /api/auth/logout method: POST description: 鐢ㄦ埛鐧诲嚭 capability: user-auth - path: /api/auth/validate method: POST description: 楠岃瘉Token capability: token-validate - path: /api/auth/refresh method: POST description: 鍒锋柊Token capability: token-refresh - path: /api/session/info method: GET description: 鑾峰彇浼氳瘽淇℃伅 capability: session-manage - path: /api/session/list method: GET description: 鑾峰彇浼氳瘽鍒楄〃 capability: session-manage - path: /api/session/{sessionId} method: DELETE description: 缁堟浼氳瘽 capability: session-manage - path: /api/health method: GET description: 鍋ュ悍妫€锟?
resources: cpu: "200m" memory: "256Mi" storage: "100Mi"
offline: enabled: true cacheStrategy: local syncOnReconnect: true