1- import { getAuthTokenFromWeb , refreshTmpToken } from './auth'
1+ import { getAuthTokenFromWeb } from './auth'
22import { getCredentialConfig , CloudService } from '../utils'
33import { ConfigItems } from '../constant'
44import { configStore } from '../utils/configstore'
@@ -46,27 +46,34 @@ export async function loginWithToken() {
4646 const tcbrc : Credential = getCredentialConfig ( )
4747 // 已有永久密钥
4848 if ( tcbrc . secretId && tcbrc . secretKey ) {
49- return LoginRes . SUCCESS
49+ try {
50+ const { secretId, secretKey } = tcbrc
51+ await checkAuth ( {
52+ tmpSecretId : secretId ,
53+ tmpSecretKey : secretKey
54+ } )
55+ return LoginRes . SUCCESS
56+ } catch ( e ) {
57+ // 删除无效的 secret
58+ configStore . delete ( 'secretId' )
59+ configStore . delete ( 'secretKey' )
60+ }
5061 }
51- // 如果存在临时密钥,校验临时密钥是否有效,是否需要续期
52- const tmpExpired = Number ( tcbrc . tmpExpired ) || 0
53- let refreshExpired = Number ( tcbrc . expired ) || 0
54- const now = Date . now ( )
5562
56- if ( now < tmpExpired ) {
57- return LoginRes . SUCCESS
63+ // 校验临时密钥
64+ if ( tcbrc . refreshToken ) {
65+ try {
66+ await checkAuth ( tcbrc )
67+ return LoginRes . SUCCESS
68+ } catch ( e ) {
69+ // 忽略错误,继续进行
70+ }
5871 }
5972
6073 let credential
6174
6275 try {
63- if ( now < refreshExpired ) {
64- // 临时 token 过期,自动续期
65- credential = await refreshTmpToken ( tcbrc )
66- } else {
67- // 通过腾讯云-云开发控制台获取授权
68- credential = await getAuthTokenFromWeb ( )
69- }
76+ credential = await getAuthTokenFromWeb ( )
7077 } catch ( e ) {
7178 return LoginRes . UNKNOWN_ERROR ( e . message )
7279 }
@@ -90,7 +97,16 @@ export async function loginWithKey(secretId?: string, secretKey?: string) {
9097 const tcbrc : Credential = await getCredentialConfig ( )
9198 // 已有永久密钥
9299 if ( tcbrc . secretId && tcbrc . secretKey ) {
93- return LoginRes . SUCCESS
100+ try {
101+ const { secretId, secretKey } = tcbrc
102+ await checkAuth ( {
103+ tmpSecretId : secretId ,
104+ tmpSecretKey : secretKey
105+ } )
106+ return LoginRes . SUCCESS
107+ } catch ( e ) {
108+ // 忽略错误
109+ }
94110 }
95111
96112 if ( ! secretId || ! secretKey ) {
0 commit comments