@react-native-kakao/user 3.1.0-next.0 → 3.1.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/android/src/main/java/net/mjstudio/rnkakao/user/RNCKakaoUserModule.kt +289 -128
- package/ios/RNCKakaoUser.mm +58 -6
- package/ios/RNCKakaoUserManager.swift +211 -43
- package/lib/commonjs/index.js +66 -5
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +106 -5
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/spec/NativeKakaoUser.ts +23 -1
- package/lib/module/index.js +61 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +101 -5
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/spec/NativeKakaoUser.ts +23 -1
- package/lib/typescript/src/index.d.ts +58 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/spec/NativeKakaoUser.d.ts +8 -2
- package/lib/typescript/src/spec/NativeKakaoUser.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +157 -4
- package/src/index.web.ts +123 -7
- package/src/spec/NativeKakaoUser.ts +23 -1
|
@@ -9,6 +9,14 @@ export interface KakaoLoginToken {
|
|
|
9
9
|
refreshTokenExpiresIn: number;
|
|
10
10
|
scopes: string[];
|
|
11
11
|
}
|
|
12
|
+
export type KakaoCodeTokenOptions = {
|
|
13
|
+
code: string;
|
|
14
|
+
codeVerifier?: string;
|
|
15
|
+
redirectUri?: string;
|
|
16
|
+
web?: {
|
|
17
|
+
clientSecret?: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
12
20
|
export interface KakaoScopeInfo {
|
|
13
21
|
id: string;
|
|
14
22
|
agreed: boolean;
|
|
@@ -55,15 +63,20 @@ export interface KakaoShippingAddress {
|
|
|
55
63
|
}
|
|
56
64
|
export interface KakaoUser {
|
|
57
65
|
id: number;
|
|
66
|
+
hasSignedUp?: boolean | null;
|
|
67
|
+
uuid?: string | null;
|
|
68
|
+
groupUserToken?: string | null;
|
|
58
69
|
email: string;
|
|
59
70
|
name?: string | null;
|
|
60
71
|
nickname: string;
|
|
61
72
|
profileImageUrl: string;
|
|
62
73
|
thumbnailImageUrl: string;
|
|
74
|
+
isDefaultImage?: boolean | null;
|
|
63
75
|
phoneNumber?: string | null;
|
|
64
76
|
ageRange?: string | null;
|
|
65
77
|
birthday?: string | null;
|
|
66
78
|
birthdayType?: string | null;
|
|
79
|
+
isLeapMonth?: boolean | null;
|
|
67
80
|
birthyear?: string | null;
|
|
68
81
|
gender?: string | null;
|
|
69
82
|
isEmailValid: boolean;
|
|
@@ -80,7 +93,12 @@ export interface KakaoUser {
|
|
|
80
93
|
nameNeedsAgreement?: boolean;
|
|
81
94
|
profileImageNeedsAgreement?: boolean;
|
|
82
95
|
profileNicknameNeedsAgreement?: boolean;
|
|
96
|
+
legalName?: string | null;
|
|
97
|
+
legalNameNeedsAgreement?: boolean | null;
|
|
98
|
+
legalBirthDate?: string | null;
|
|
83
99
|
legalBirthDateNeedsAgreement?: boolean;
|
|
100
|
+
legalGender?: 'female' | 'male' | null;
|
|
101
|
+
legalGenderNeedsAgreement?: boolean | null;
|
|
84
102
|
connectedAt?: number;
|
|
85
103
|
synchedAt?: number;
|
|
86
104
|
}
|
|
@@ -89,12 +107,17 @@ export interface KakaoAccessTokenInfo {
|
|
|
89
107
|
appId: number;
|
|
90
108
|
expiresIn: number;
|
|
91
109
|
}
|
|
92
|
-
export declare function login({ serviceTerms, prompts, useKakaoAccountLogin, scopes, nonce, }?: {
|
|
110
|
+
export declare function login({ serviceTerms, prompts, useKakaoAccountLogin, scopes, nonce, loginHint, channelPublicIds, android, }?: {
|
|
93
111
|
serviceTerms?: string[];
|
|
94
112
|
prompts?: ('Login' | 'Create' | 'Cert' | 'SelectAccount')[];
|
|
95
113
|
scopes?: string[];
|
|
96
114
|
useKakaoAccountLogin?: boolean;
|
|
97
115
|
nonce?: string;
|
|
116
|
+
loginHint?: string;
|
|
117
|
+
channelPublicIds?: string[];
|
|
118
|
+
android?: {
|
|
119
|
+
requestCode?: number;
|
|
120
|
+
};
|
|
98
121
|
web?: {
|
|
99
122
|
redirectUri: string;
|
|
100
123
|
scope?: string[];
|
|
@@ -106,6 +129,27 @@ export declare function login({ serviceTerms, prompts, useKakaoAccountLogin, sco
|
|
|
106
129
|
nonce?: string;
|
|
107
130
|
};
|
|
108
131
|
}): Promise<KakaoLoginToken>;
|
|
132
|
+
export declare function signup({ properties }?: {
|
|
133
|
+
properties?: Record<string, string>;
|
|
134
|
+
}): Promise<void>;
|
|
135
|
+
export declare function loginWithKakao({ uiMode, prompts, loginHint, nonce, channelPublicIds, serviceTerms, ios, }?: {
|
|
136
|
+
uiMode?: 'auto' | 'light' | 'dark';
|
|
137
|
+
prompts?: ('Login' | 'Create' | 'Cert' | 'SelectAccount')[];
|
|
138
|
+
loginHint?: string;
|
|
139
|
+
nonce?: string;
|
|
140
|
+
channelPublicIds?: string[];
|
|
141
|
+
serviceTerms?: string[];
|
|
142
|
+
ios?: {
|
|
143
|
+
orientation?: 'auto' | 'portrait' | 'landscape';
|
|
144
|
+
launchMethod?: 'UniversalLink' | 'CustomScheme';
|
|
145
|
+
};
|
|
146
|
+
}): Promise<KakaoLoginToken>;
|
|
147
|
+
export declare function refreshToken({ token, ios, }?: {
|
|
148
|
+
token?: KakaoLoginToken;
|
|
149
|
+
ios?: {
|
|
150
|
+
loggingEnabled?: boolean;
|
|
151
|
+
};
|
|
152
|
+
}): Promise<KakaoLoginToken>;
|
|
109
153
|
export declare function logout(): Promise<void>;
|
|
110
154
|
export declare function unlink(): Promise<void>;
|
|
111
155
|
export declare function isLogined(): Promise<boolean>;
|
|
@@ -124,13 +168,20 @@ export declare function shippingAddresses({ addressId, fromUpdatedAt, pageSize,
|
|
|
124
168
|
}): Promise<KakaoShippingAddressResult>;
|
|
125
169
|
export declare function revokeServiceTerms(tags: string[]): Promise<KakaoRevokedServiceTerms[]>;
|
|
126
170
|
export declare function selectShippingAddress(): Promise<number>;
|
|
127
|
-
export declare function me(
|
|
171
|
+
export declare function me({ secureResource, }?: {
|
|
172
|
+
secureResource?: boolean;
|
|
173
|
+
}): Promise<KakaoUser>;
|
|
174
|
+
export declare function issueAccessTokenWithCode({ code, codeVerifier, redirectUri, }: KakaoCodeTokenOptions): Promise<KakaoLoginToken>;
|
|
128
175
|
export declare function getAccessToken(): Promise<KakaoAccessTokenInfo>;
|
|
176
|
+
export declare function updateProfile({ properties, }: {
|
|
177
|
+
properties: Record<string, string>;
|
|
178
|
+
}): Promise<void>;
|
|
129
179
|
export declare function setAccessTokenWeb(token: string): void;
|
|
130
180
|
export declare function issueAccessTokenWithCodeWeb(params: {
|
|
131
181
|
redirectUri: string;
|
|
132
182
|
clientSecret?: string;
|
|
133
183
|
code: string;
|
|
184
|
+
codeVerifier?: string;
|
|
134
185
|
}): Promise<{
|
|
135
186
|
tokenType: string;
|
|
136
187
|
accessToken: string;
|
|
@@ -142,6 +193,10 @@ export declare function issueAccessTokenWithCodeWeb(params: {
|
|
|
142
193
|
}>;
|
|
143
194
|
declare const KakaoUser: {
|
|
144
195
|
login: typeof login;
|
|
196
|
+
loginWithKakao: typeof loginWithKakao;
|
|
197
|
+
refreshToken: typeof refreshToken;
|
|
198
|
+
issueAccessTokenWithCode: typeof issueAccessTokenWithCode;
|
|
199
|
+
signup: typeof signup;
|
|
145
200
|
logout: typeof logout;
|
|
146
201
|
unlink: typeof unlink;
|
|
147
202
|
isLogined: typeof isLogined;
|
|
@@ -154,6 +209,7 @@ declare const KakaoUser: {
|
|
|
154
209
|
shippingAddresses: typeof shippingAddresses;
|
|
155
210
|
selectShippingAddress: typeof selectShippingAddress;
|
|
156
211
|
me: typeof me;
|
|
212
|
+
updateProfile: typeof updateProfile;
|
|
157
213
|
getAccessToken: typeof getAccessToken;
|
|
158
214
|
setAccessTokenWeb: typeof setAccessTokenWeb;
|
|
159
215
|
issueAccessTokenWithCodeWeb: typeof issueAccessTokenWithCodeWeb;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import type { TurboModule } from 'react-native';
|
|
2
|
+
import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
|
|
2
3
|
import type { KakaoAccessTokenInfo, KakaoLoginToken, KakaoRevokedServiceTerms, KakaoScopeInfo, KakaoServiceTerms, KakaoShippingAddressResult, KakaoUser } from '..';
|
|
3
4
|
export interface Spec extends TurboModule {
|
|
4
5
|
isKakaoTalkLoginAvailable(): Promise<boolean>;
|
|
5
|
-
login(serviceTerms: string[], prompts: string[], useKakaoAccountLogin: boolean, scopes?: string[], nonce?: string): Promise<KakaoLoginToken>;
|
|
6
|
+
login(serviceTerms: string[], prompts: string[], useKakaoAccountLogin: boolean, scopes?: string[], nonce?: string, loginHint?: string, channelPublicIds?: string[], androidRequestCode?: number): Promise<KakaoLoginToken>;
|
|
7
|
+
loginWithKakao(uiMode: string, orientation: string, launchMethod: string, prompts: string[], loginHint?: string, nonce?: string, channelPublicIds?: string[], serviceTerms?: string[]): Promise<KakaoLoginToken>;
|
|
8
|
+
issueAccessTokenWithCode(code: string, codeVerifier?: string, redirectUri?: string): Promise<KakaoLoginToken>;
|
|
9
|
+
refreshToken(token?: UnsafeObject, iosLoggingEnabled?: boolean): Promise<KakaoLoginToken>;
|
|
10
|
+
signup(properties?: UnsafeObject): Promise<void>;
|
|
6
11
|
logout(): Promise<void>;
|
|
7
12
|
unlink(): Promise<void>;
|
|
8
13
|
isLogined(): Promise<boolean>;
|
|
@@ -13,7 +18,8 @@ export interface Spec extends TurboModule {
|
|
|
13
18
|
revokeServiceTerms(tags: string[]): Promise<KakaoRevokedServiceTerms[]>;
|
|
14
19
|
shippingAddresses(addressId?: number, fromUpdatedAt?: number, pageSize?: number): Promise<KakaoShippingAddressResult>;
|
|
15
20
|
selectShippingAddress(): Promise<number>;
|
|
16
|
-
me(): Promise<KakaoUser>;
|
|
21
|
+
me(secureResource?: boolean): Promise<KakaoUser>;
|
|
22
|
+
updateProfile(properties: UnsafeObject): Promise<void>;
|
|
17
23
|
getAccessToken(): Promise<KakaoAccessTokenInfo>;
|
|
18
24
|
}
|
|
19
25
|
declare const _default: Spec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeKakaoUser.d.ts","sourceRoot":"","sources":["../../../../src/spec/NativeKakaoUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeKakaoUser.d.ts","sourceRoot":"","sources":["../../../../src/spec/NativeKakaoUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,0BAA0B,EAC1B,SAAS,EACV,MAAM,IAAI,CAAC;AAEZ,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CACH,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,MAAM,EAAE,EACjB,oBAAoB,EAAE,OAAO,EAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAC3B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,wBAAwB,CACtB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,YAAY,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1F,MAAM,CAAC,UAAU,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACrD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC7E,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACxE,iBAAiB,CACf,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACvC,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACjD,aAAa,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,cAAc,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACjD;;AAED,wBAAsE"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-native-kakao/user",
|
|
3
3
|
"description": "React Native Kakao User SDK",
|
|
4
|
-
"version": "3.1.0-next.
|
|
4
|
+
"version": "3.1.0-next.1",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
7
7
|
"types": "lib/typescript/src/index.d.ts",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"access": "public"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@react-native-kakao/core": "3.1.0-next.
|
|
60
|
+
"@react-native-kakao/core": "3.1.0-next.1",
|
|
61
61
|
"@types/invariant": "^2",
|
|
62
62
|
"@types/react": "~19.2.2",
|
|
63
63
|
"del-cli": "^5.1.0",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"typescript": "~6.0.3"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
|
-
"@react-native-kakao/core": "3.1.0-next.
|
|
70
|
+
"@react-native-kakao/core": "3.1.0-next.1",
|
|
71
71
|
"react": "*",
|
|
72
72
|
"react-native": ">=0.76.0"
|
|
73
73
|
},
|
package/src/index.ts
CHANGED
|
@@ -15,6 +15,16 @@ export interface KakaoLoginToken {
|
|
|
15
15
|
refreshTokenExpiresIn: number;
|
|
16
16
|
scopes: string[];
|
|
17
17
|
}
|
|
18
|
+
export type KakaoCodeTokenOptions = {
|
|
19
|
+
code: string;
|
|
20
|
+
codeVerifier?: string;
|
|
21
|
+
redirectUri?: string;
|
|
22
|
+
web?: { clientSecret?: string };
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const minActivityRequestCode = -2147483648;
|
|
26
|
+
const maxActivityRequestCode = 2147483647;
|
|
27
|
+
|
|
18
28
|
export interface KakaoScopeInfo {
|
|
19
29
|
id: string;
|
|
20
30
|
agreed: boolean;
|
|
@@ -61,15 +71,20 @@ export interface KakaoShippingAddress {
|
|
|
61
71
|
}
|
|
62
72
|
export interface KakaoUser {
|
|
63
73
|
id: number;
|
|
74
|
+
hasSignedUp?: boolean | null;
|
|
75
|
+
uuid?: string | null;
|
|
76
|
+
groupUserToken?: string | null;
|
|
64
77
|
email: string;
|
|
65
78
|
name?: string | null;
|
|
66
79
|
nickname: string;
|
|
67
80
|
profileImageUrl: string;
|
|
68
81
|
thumbnailImageUrl: string;
|
|
82
|
+
isDefaultImage?: boolean | null;
|
|
69
83
|
phoneNumber?: string | null;
|
|
70
84
|
ageRange?: string | null;
|
|
71
85
|
birthday?: string | null;
|
|
72
86
|
birthdayType?: string | null;
|
|
87
|
+
isLeapMonth?: boolean | null;
|
|
73
88
|
birthyear?: string | null;
|
|
74
89
|
gender?: string | null;
|
|
75
90
|
isEmailValid: boolean;
|
|
@@ -86,7 +101,12 @@ export interface KakaoUser {
|
|
|
86
101
|
nameNeedsAgreement?: boolean;
|
|
87
102
|
profileImageNeedsAgreement?: boolean;
|
|
88
103
|
profileNicknameNeedsAgreement?: boolean;
|
|
104
|
+
legalName?: string | null;
|
|
105
|
+
legalNameNeedsAgreement?: boolean | null;
|
|
106
|
+
legalBirthDate?: string | null;
|
|
89
107
|
legalBirthDateNeedsAgreement?: boolean;
|
|
108
|
+
legalGender?: 'female' | 'male' | null;
|
|
109
|
+
legalGenderNeedsAgreement?: boolean | null;
|
|
90
110
|
connectedAt?: number;
|
|
91
111
|
synchedAt?: number;
|
|
92
112
|
}
|
|
@@ -101,12 +121,18 @@ export function login({
|
|
|
101
121
|
useKakaoAccountLogin,
|
|
102
122
|
scopes,
|
|
103
123
|
nonce,
|
|
124
|
+
loginHint,
|
|
125
|
+
channelPublicIds,
|
|
126
|
+
android,
|
|
104
127
|
}: {
|
|
105
128
|
serviceTerms?: string[];
|
|
106
129
|
prompts?: ('Login' | 'Create' | 'Cert' | 'SelectAccount')[];
|
|
107
130
|
scopes?: string[];
|
|
108
131
|
useKakaoAccountLogin?: boolean;
|
|
109
132
|
nonce?: string;
|
|
133
|
+
loginHint?: string;
|
|
134
|
+
channelPublicIds?: string[];
|
|
135
|
+
android?: { requestCode?: number };
|
|
110
136
|
web?: {
|
|
111
137
|
redirectUri: string;
|
|
112
138
|
scope?: string[];
|
|
@@ -118,14 +144,35 @@ export function login({
|
|
|
118
144
|
nonce?: string;
|
|
119
145
|
};
|
|
120
146
|
} = {}): Promise<KakaoLoginToken> {
|
|
147
|
+
const requestCode = android?.requestCode;
|
|
148
|
+
kAssert(
|
|
149
|
+
requestCode == null ||
|
|
150
|
+
(Number.isInteger(requestCode) &&
|
|
151
|
+
requestCode >= minActivityRequestCode &&
|
|
152
|
+
requestCode <= maxActivityRequestCode),
|
|
153
|
+
`[login] android.requestCode must be an integer from ${minActivityRequestCode} to ${maxActivityRequestCode}`,
|
|
154
|
+
);
|
|
155
|
+
|
|
121
156
|
kAssert(
|
|
122
157
|
!useKakaoAccountLogin ? !is.notEmptyArray(prompts) && !is.notEmptyArray(scopes) : true,
|
|
123
158
|
'[login] `prompts` and `scopes` cannot be passed if useKakaoAccountLogin is false.',
|
|
124
159
|
);
|
|
125
160
|
|
|
126
161
|
kAssert(
|
|
127
|
-
is.notEmptyArray(scopes)
|
|
128
|
-
|
|
162
|
+
is.notEmptyArray(scopes)
|
|
163
|
+
? !is.notEmptyArray(prompts) &&
|
|
164
|
+
!is.notEmptyArray(serviceTerms) &&
|
|
165
|
+
!is.notEmptyArray(channelPublicIds)
|
|
166
|
+
: true,
|
|
167
|
+
'[login] `scopes` cannot be passed with `prompts`, `serviceTerms`, or `channelPublicIds`',
|
|
168
|
+
);
|
|
169
|
+
|
|
170
|
+
kAssert(
|
|
171
|
+
loginHint == null ||
|
|
172
|
+
(!is.notEmptyArray(scopes) &&
|
|
173
|
+
!is.notEmptyArray(serviceTerms) &&
|
|
174
|
+
!is.notEmptyArray(channelPublicIds)),
|
|
175
|
+
'[login] `loginHint` cannot be passed with `scopes`, `serviceTerms`, or `channelPublicIds` on native platforms.',
|
|
129
176
|
);
|
|
130
177
|
|
|
131
178
|
return Native.login(
|
|
@@ -134,9 +181,89 @@ export function login({
|
|
|
134
181
|
useKakaoAccountLogin ?? false,
|
|
135
182
|
scopes ?? [],
|
|
136
183
|
nonce,
|
|
184
|
+
loginHint,
|
|
185
|
+
channelPublicIds ?? [],
|
|
186
|
+
requestCode,
|
|
137
187
|
);
|
|
138
188
|
}
|
|
139
189
|
|
|
190
|
+
export async function signup({ properties }: { properties?: Record<string, string> } = {}) {
|
|
191
|
+
await Native.signup(properties);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export function loginWithKakao({
|
|
195
|
+
uiMode = 'auto',
|
|
196
|
+
prompts,
|
|
197
|
+
loginHint,
|
|
198
|
+
nonce,
|
|
199
|
+
channelPublicIds,
|
|
200
|
+
serviceTerms,
|
|
201
|
+
ios,
|
|
202
|
+
}: {
|
|
203
|
+
uiMode?: 'auto' | 'light' | 'dark';
|
|
204
|
+
prompts?: ('Login' | 'Create' | 'Cert' | 'SelectAccount')[];
|
|
205
|
+
loginHint?: string;
|
|
206
|
+
nonce?: string;
|
|
207
|
+
channelPublicIds?: string[];
|
|
208
|
+
serviceTerms?: string[];
|
|
209
|
+
ios?: {
|
|
210
|
+
orientation?: 'auto' | 'portrait' | 'landscape';
|
|
211
|
+
launchMethod?: 'UniversalLink' | 'CustomScheme';
|
|
212
|
+
};
|
|
213
|
+
} = {}): Promise<KakaoLoginToken> {
|
|
214
|
+
return Native.loginWithKakao(
|
|
215
|
+
uiMode,
|
|
216
|
+
ios?.orientation ?? 'auto',
|
|
217
|
+
ios?.launchMethod ?? 'UniversalLink',
|
|
218
|
+
prompts ?? [],
|
|
219
|
+
loginHint,
|
|
220
|
+
nonce,
|
|
221
|
+
channelPublicIds ?? [],
|
|
222
|
+
serviceTerms ?? [],
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export function refreshToken({
|
|
227
|
+
token,
|
|
228
|
+
ios,
|
|
229
|
+
}: {
|
|
230
|
+
token?: KakaoLoginToken;
|
|
231
|
+
ios?: { loggingEnabled?: boolean };
|
|
232
|
+
} = {}): Promise<KakaoLoginToken> {
|
|
233
|
+
kAssert(
|
|
234
|
+
ios?.loggingEnabled == null || typeof ios.loggingEnabled === 'boolean',
|
|
235
|
+
'[refreshToken] ios.loggingEnabled must be a boolean',
|
|
236
|
+
);
|
|
237
|
+
|
|
238
|
+
if (token !== undefined) {
|
|
239
|
+
kAssert(
|
|
240
|
+
token != null &&
|
|
241
|
+
is.string(token.accessToken) &&
|
|
242
|
+
token.accessToken.length > 0 &&
|
|
243
|
+
is.string(token.refreshToken) &&
|
|
244
|
+
token.refreshToken.length > 0,
|
|
245
|
+
'[refreshToken] token must contain non-empty accessToken and refreshToken strings',
|
|
246
|
+
);
|
|
247
|
+
|
|
248
|
+
kAssert(
|
|
249
|
+
[token.accessTokenExpiresAt, token.refreshTokenExpiresAt].every(
|
|
250
|
+
(value) => Number.isFinite(value) && !Number.isNaN(new Date(value * 1000).getTime()),
|
|
251
|
+
) && [token.accessTokenExpiresIn, token.refreshTokenExpiresIn].every(Number.isFinite),
|
|
252
|
+
'[refreshToken] token expiry timestamps must be valid Unix seconds and lifetimes must be finite',
|
|
253
|
+
);
|
|
254
|
+
|
|
255
|
+
kAssert(
|
|
256
|
+
(token.tokenType == null || is.string(token.tokenType)) &&
|
|
257
|
+
(token.idToken == null || is.string(token.idToken)) &&
|
|
258
|
+
Array.isArray(token.scopes) &&
|
|
259
|
+
token.scopes.every((scope) => is.string(scope)),
|
|
260
|
+
'[refreshToken] tokenType and idToken must be strings when present, and scopes must be strings',
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
return Native.refreshToken(token, ios?.loggingEnabled ?? true);
|
|
265
|
+
}
|
|
266
|
+
|
|
140
267
|
export function logout() {
|
|
141
268
|
return Native.logout();
|
|
142
269
|
}
|
|
@@ -195,14 +322,34 @@ export function selectShippingAddress(): Promise<number> {
|
|
|
195
322
|
return Native.selectShippingAddress();
|
|
196
323
|
}
|
|
197
324
|
|
|
198
|
-
export function me(
|
|
199
|
-
|
|
325
|
+
export function me({
|
|
326
|
+
secureResource = true,
|
|
327
|
+
}: { secureResource?: boolean } = {}): Promise<KakaoUser> {
|
|
328
|
+
return Native.me(secureResource);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
export async function issueAccessTokenWithCode({
|
|
332
|
+
code,
|
|
333
|
+
codeVerifier,
|
|
334
|
+
redirectUri,
|
|
335
|
+
}: KakaoCodeTokenOptions): Promise<KakaoLoginToken> {
|
|
336
|
+
kAssert(is.string(code) && code.length > 0, '[issueAccessTokenWithCode] code is required');
|
|
337
|
+
|
|
338
|
+
return Native.issueAccessTokenWithCode(code, codeVerifier, redirectUri);
|
|
200
339
|
}
|
|
201
340
|
|
|
202
341
|
export function getAccessToken(): Promise<KakaoAccessTokenInfo> {
|
|
203
342
|
return Native.getAccessToken();
|
|
204
343
|
}
|
|
205
344
|
|
|
345
|
+
export function updateProfile({
|
|
346
|
+
properties,
|
|
347
|
+
}: {
|
|
348
|
+
properties: Record<string, string>;
|
|
349
|
+
}): Promise<void> {
|
|
350
|
+
return Native.updateProfile(properties);
|
|
351
|
+
}
|
|
352
|
+
|
|
206
353
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
207
354
|
export function setAccessTokenWeb(token: string) {}
|
|
208
355
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -210,6 +357,7 @@ export async function issueAccessTokenWithCodeWeb(params: {
|
|
|
210
357
|
redirectUri: string;
|
|
211
358
|
clientSecret?: string;
|
|
212
359
|
code: string;
|
|
360
|
+
codeVerifier?: string;
|
|
213
361
|
}): Promise<{
|
|
214
362
|
tokenType: string;
|
|
215
363
|
accessToken: string;
|
|
@@ -224,6 +372,10 @@ export async function issueAccessTokenWithCodeWeb(params: {
|
|
|
224
372
|
|
|
225
373
|
const KakaoUser = {
|
|
226
374
|
login,
|
|
375
|
+
loginWithKakao,
|
|
376
|
+
refreshToken,
|
|
377
|
+
issueAccessTokenWithCode,
|
|
378
|
+
signup,
|
|
227
379
|
logout,
|
|
228
380
|
unlink,
|
|
229
381
|
isLogined,
|
|
@@ -236,6 +388,7 @@ const KakaoUser = {
|
|
|
236
388
|
shippingAddresses,
|
|
237
389
|
selectShippingAddress,
|
|
238
390
|
me,
|
|
391
|
+
updateProfile,
|
|
239
392
|
getAccessToken,
|
|
240
393
|
setAccessTokenWeb,
|
|
241
394
|
issueAccessTokenWithCodeWeb,
|