Skip to content

Commit bcdd0a9

Browse files
committed
feat(support OAuth): add new API for OAuth
1 parent 6e2ea6e commit bcdd0a9

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

src/interface/provider.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ export interface IAuthResult {
5555
networkId: number
5656
address: string[]
5757
url: string
58+
oauthToken: string
5859
}
5960

6061
export interface IProviderRpcError extends Error {

src/provider.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export class Provider implements IProvider {
2929
logger: ConsoleLike
3030
public readonly appId: string
3131
address: string[] = []
32+
oauthToken?: string = undefined
3233
networkId = -1
3334
chainId = -1
3435
url = ''
@@ -217,6 +218,11 @@ export class Provider implements IProvider {
217218
}
218219
case 'anyweb_version':
219220
return config.version
221+
case 'anyweb_oauth':
222+
if (this.oauthToken) {
223+
return this.oauthToken
224+
}
225+
throw new Error('Get oauth token failed: get account address first')
220226
case 'anyweb_home':
221227
return await callIframe(
222228
'pages/index/home',

src/utils/common.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,12 +327,14 @@ export const readCache = (provider: Provider) => {
327327
Object.keys(result).includes('networkId') &&
328328
Object.keys(result).includes('chainId') &&
329329
Object.keys(result).includes('expires') &&
330+
Object.keys(result).includes('oauthToken') &&
330331
result.expires > new Date().getTime()
331332
) {
332333
provider.address = result.address
333334
provider.networkId = result.networkId
334335
provider.chainId = result.chainId
335336
provider.url = result.url
337+
provider.oauthToken = result.oauthToken
336338
}
337339
} catch (e) {
338340
provider.logger.error(e)
@@ -352,5 +354,6 @@ export const setCache = (data: IAuthResult, provider: Provider) => {
352354
provider.networkId = data.networkId || provider.networkId
353355
provider.chainId = data.chainId || provider.chainId
354356
provider.url = data.url
357+
provider.oauthToken = data.oauthToken || provider.oauthToken
355358
return data
356359
}

0 commit comments

Comments
 (0)