@react-native-kakao/user
Version:
React Native Kakao User SDK
146 lines • 4.57 kB
TypeScript
export interface KakaoLoginToken {
accessToken: string;
refreshToken: string;
tokenType?: string;
idToken?: string;
accessTokenExpiresAt: number;
refreshTokenExpiresAt: number;
accessTokenExpiresIn: number;
refreshTokenExpiresIn: number;
scopes: string[];
}
export interface KakaoScopeInfo {
id: string;
agreed: boolean;
displayName: string;
revocable?: boolean;
using: boolean;
delegated?: boolean;
type: string;
}
export interface KakaoServiceTerms {
tag: string;
agreedAt?: number;
agreed: boolean;
required: boolean;
revocable: boolean;
}
export interface KakaoAppServiceTerms {
tag: string;
createdAt: number;
updatedAt: number;
}
export interface KakaoShippingAddressResult {
userId?: number;
needsAgreement?: boolean;
shippingAddresses: KakaoShippingAddress[];
}
export interface KakaoShippingAddress {
id: number;
name?: string;
isDefault: boolean;
updatedAt?: number;
type?: string;
baseAddress?: string;
detailAddress?: string;
receiverName?: string;
receiverPhoneNumber1?: string;
receiverPhoneNumber2?: string;
zoneNumber?: string;
zipCode?: string;
}
export interface KakaoUser {
id: number;
email: string;
name?: string | null;
nickname: string;
profileImageUrl: string;
thumbnailImageUrl: string;
phoneNumber?: string | null;
ageRange?: string | null;
birthday?: string | null;
birthdayType?: string | null;
birthyear?: string | null;
gender?: string | null;
isEmailValid: boolean;
isEmailVerified: boolean;
isKorean?: boolean;
ageRangeNeedsAgreement?: boolean;
birthdayNeedsAgreement?: boolean;
birthyearNeedsAgreement?: boolean;
emailNeedsAgreement?: boolean;
genderNeedsAgreement?: boolean;
isKoreanNeedsAgreement?: boolean;
phoneNumberNeedsAgreement?: boolean;
profileNeedsAgreement?: boolean;
ciNeedsAgreement?: boolean;
nameNeedsAgreement?: boolean;
profileImageNeedsAgreement?: boolean;
profileNicknameNeedsAgreement?: boolean;
legalBirthDateNeedsAgreement?: boolean;
connectedAt?: number;
synchedAt?: number;
}
export interface KakaoAccessTokenInfo {
id?: number;
appId: number;
expiresIn: number;
}
export declare function login({ serviceTerms, prompts, useKakaoAccountLogin, scopes, }?: {
serviceTerms?: string[];
prompts?: ('Login' | 'Create' | 'Cert' | 'UnifyDaum' | 'SelectAccount')[];
scopes?: string[];
useKakaoAccountLogin?: boolean;
web?: {
redirectUri: string;
scope?: string[];
throughTalk?: boolean;
prompt?: ('login' | 'none' | 'create' | 'select_account')[];
loginHint?: string;
serviceTerms?: string[];
state?: string;
nonce?: string;
};
}): Promise<KakaoLoginToken>;
export declare function logout(): Promise<void>;
export declare function unlink(): Promise<void>;
export declare function isLogined(): Promise<boolean>;
export declare function isKakaoTalkLoginAvailable(): Promise<boolean>;
export declare function scopes(scopes?: string[]): Promise<KakaoScopeInfo[]>;
export declare function revokeScopes(scopes: string[]): Promise<void>;
export declare function serviceTerms(): Promise<KakaoServiceTerms[]>;
export declare function shippingAddresses(): Promise<KakaoShippingAddressResult>;
export declare function me(): Promise<KakaoUser>;
export declare function getAccessToken(): Promise<KakaoAccessTokenInfo>;
export declare function setAccessTokenWeb(token: string): void;
export declare function issueAccessTokenWithCodeWeb(params: {
redirectUri: string;
clientSecret?: string;
code: string;
}): Promise<{
tokenType: string;
accessToken: string;
idToken?: string;
expiresIn: number;
refreshToken: string;
refreshTokenExpiresIn: number;
scope?: string;
}>;
declare const KakaoUser: {
login: typeof login;
logout: typeof logout;
unlink: typeof unlink;
isLogined: typeof isLogined;
isKakaoTalkLoginAvailable: typeof isKakaoTalkLoginAvailable;
scopes: typeof scopes;
revokeScopes: typeof revokeScopes;
serviceTerms: typeof serviceTerms;
shippingAddresses: typeof shippingAddresses;
me: typeof me;
getAccessToken: typeof getAccessToken;
setAccessTokenWeb: typeof setAccessTokenWeb;
issueAccessTokenWithCodeWeb: typeof issueAccessTokenWithCodeWeb;
};
export default KakaoUser;
export type KakaoUserAPI = typeof KakaoUser;
//# sourceMappingURL=index.d.ts.map