mirror of
https://github.com/Buriburizaem0n/admin-frontend-domain.git
synced 2026-02-04 20:50:07 +00:00
feat: oauth2 登录
This commit is contained in:
33
src/api/oauth2.ts
Normal file
33
src/api/oauth2.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { ModelOauth2LoginResponse } from "@/types"
|
||||
|
||||
import { FetcherMethod, fetcher } from "./api"
|
||||
|
||||
export enum Oauth2RequestType {
|
||||
LOGIN = 1,
|
||||
BIND = 2,
|
||||
}
|
||||
|
||||
export const getOauth2RedirectURL = async (provider: string, rType: Oauth2RequestType): Promise<ModelOauth2LoginResponse> => {
|
||||
return fetcher<ModelOauth2LoginResponse>(FetcherMethod.GET, `/api/v1/oauth2/${provider}`, {
|
||||
"type": rType,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export const bindOauth2 = async (provider: string, state: string, code: string): Promise<ModelOauth2LoginResponse> => {
|
||||
return fetcher<ModelOauth2LoginResponse>(FetcherMethod.POST, `/api/v1/oauth2/${provider}/bind`, {
|
||||
"state": state,
|
||||
"code": code,
|
||||
})
|
||||
}
|
||||
|
||||
export const unbindOauth2 = async (provider: string): Promise<ModelOauth2LoginResponse> => {
|
||||
return fetcher<ModelOauth2LoginResponse>(FetcherMethod.POST, `/api/v1/oauth2/${provider}/unbind`)
|
||||
}
|
||||
|
||||
|
||||
export const oauth2callback = async (provider: string, state: string, code: string): Promise<void> => {
|
||||
return fetcher<void>(FetcherMethod.POST, `/api/v1/oauth2/${provider}/callback`, {
|
||||
state, code
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user