@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.
@@ -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(): Promise<KakaoUser>;
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;AAGhD,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,GACb,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,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,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,cAAc,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACjD;;AAED,wBAAsE"}
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.0",
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.0",
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.0",
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) ? !is.notEmptyArray(prompts) && !is.notEmptyArray(serviceTerms) : true,
128
- '[login] `scopes` cannot be passed with `prompts` or `serviceTerms`',
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(): Promise<KakaoUser> {
199
- return Native.me();
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,