@react-native-kakao/user 3.1.0 → 3.2.0
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 +107 -0
- package/android/src/main/java/net/mjstudio/rnkakao/user/RNCKakaoUserModule.kt +450 -204
- package/ios/RNCKakaoUser.mm +84 -11
- package/ios/RNCKakaoUserManager.swift +319 -70
- package/lib/commonjs/index.js +121 -16
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +200 -25
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/spec/NativeKakaoUser.ts +35 -4
- package/lib/commonjs/validateShippingAddressOptions.js +20 -0
- package/lib/commonjs/validateShippingAddressOptions.js.map +1 -0
- package/lib/module/index.js +113 -17
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +190 -25
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/spec/NativeKakaoUser.ts +35 -4
- package/lib/module/validateShippingAddressOptions.js +16 -0
- package/lib/module/validateShippingAddressOptions.js.map +1 -0
- package/lib/typescript/src/index.d.ts +109 -27
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/spec/NativeKakaoUser.d.ts +15 -6
- package/lib/typescript/src/spec/NativeKakaoUser.d.ts.map +1 -1
- package/lib/typescript/src/validateShippingAddressOptions.d.ts +6 -0
- package/lib/typescript/src/validateShippingAddressOptions.d.ts.map +1 -0
- package/package.json +5 -5
- package/src/index.ts +251 -39
- package/src/index.web.ts +232 -37
- package/src/spec/NativeKakaoUser.ts +35 -4
- package/src/validateShippingAddressOptions.ts +30 -0
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { TurboModule } from 'react-native';
|
|
2
2
|
import { TurboModuleRegistry } from 'react-native';
|
|
3
|
+
import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
4
|
|
|
4
5
|
import type {
|
|
5
6
|
KakaoAccessTokenInfo,
|
|
6
7
|
KakaoLoginToken,
|
|
8
|
+
KakaoRevokedServiceTerms,
|
|
7
9
|
KakaoScopeInfo,
|
|
8
10
|
KakaoServiceTerms,
|
|
9
11
|
KakaoShippingAddressResult,
|
|
@@ -16,17 +18,46 @@ export interface Spec extends TurboModule {
|
|
|
16
18
|
serviceTerms: string[],
|
|
17
19
|
prompts: string[],
|
|
18
20
|
useKakaoAccountLogin: boolean,
|
|
21
|
+
iosLaunchMethod: string,
|
|
19
22
|
scopes?: string[],
|
|
20
23
|
nonce?: string,
|
|
24
|
+
loginHint?: string,
|
|
25
|
+
channelPublicIds?: string[],
|
|
26
|
+
androidRequestCode?: number,
|
|
21
27
|
): Promise<KakaoLoginToken>;
|
|
28
|
+
loginWithKakao(
|
|
29
|
+
uiMode: string,
|
|
30
|
+
orientation: string,
|
|
31
|
+
launchMethod: string,
|
|
32
|
+
prompts: string[],
|
|
33
|
+
loginHint?: string,
|
|
34
|
+
nonce?: string,
|
|
35
|
+
channelPublicIds?: string[],
|
|
36
|
+
serviceTerms?: string[],
|
|
37
|
+
): Promise<KakaoLoginToken>;
|
|
38
|
+
issueAccessTokenWithCode(
|
|
39
|
+
code: string,
|
|
40
|
+
codeVerifier?: string,
|
|
41
|
+
redirectUri?: string,
|
|
42
|
+
): Promise<KakaoLoginToken>;
|
|
43
|
+
refreshToken(token?: UnsafeObject, iosLoggingEnabled?: boolean): Promise<KakaoLoginToken>;
|
|
44
|
+
signup(properties?: UnsafeObject): Promise<void>;
|
|
22
45
|
logout(): Promise<void>;
|
|
23
46
|
unlink(): Promise<void>;
|
|
24
47
|
isLogined(): Promise<boolean>;
|
|
48
|
+
hasToken(): Promise<boolean>;
|
|
25
49
|
scopes(scopes?: string[]): Promise<KakaoScopeInfo[]>;
|
|
26
|
-
revokeScopes(scopes: string[]): Promise<
|
|
27
|
-
serviceTerms(): Promise<KakaoServiceTerms[]>;
|
|
28
|
-
|
|
29
|
-
|
|
50
|
+
revokeScopes(scopes: string[]): Promise<KakaoScopeInfo[]>;
|
|
51
|
+
serviceTerms(result?: string, tags?: string[]): Promise<KakaoServiceTerms[]>;
|
|
52
|
+
revokeServiceTerms(tags: string[]): Promise<KakaoRevokedServiceTerms[]>;
|
|
53
|
+
shippingAddresses(
|
|
54
|
+
addressId?: number,
|
|
55
|
+
fromUpdatedAt?: number,
|
|
56
|
+
pageSize?: number,
|
|
57
|
+
): Promise<KakaoShippingAddressResult>;
|
|
58
|
+
selectShippingAddress(): Promise<number>;
|
|
59
|
+
me(propertyKeys?: string[], secureResource?: boolean): Promise<KakaoUser>;
|
|
60
|
+
updateProfile(properties: UnsafeObject): Promise<void>;
|
|
30
61
|
getAccessToken(): Promise<KakaoAccessTokenInfo>;
|
|
31
62
|
}
|
|
32
63
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.validateShippingAddressOptions = validateShippingAddressOptions;
|
|
7
|
+
var _core = require("@react-native-kakao/core");
|
|
8
|
+
function validateShippingAddressOptions({
|
|
9
|
+
addressId,
|
|
10
|
+
fromUpdatedAt,
|
|
11
|
+
pageSize
|
|
12
|
+
}) {
|
|
13
|
+
if (addressId != null) {
|
|
14
|
+
(0, _core.kAssert)(Number.isSafeInteger(addressId), '[shippingAddresses] addressId must be a safe integer');
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
(0, _core.kAssert)(fromUpdatedAt == null || Number.isSafeInteger(fromUpdatedAt) && fromUpdatedAt >= 0, '[shippingAddresses] fromUpdatedAt must be a non-negative safe integer in Unix seconds');
|
|
18
|
+
(0, _core.kAssert)(pageSize == null || Number.isInteger(pageSize) && pageSize >= 2 && pageSize <= 2147483647, '[shippingAddresses] pageSize must be an integer between 2 and 2147483647');
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=validateShippingAddressOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_core","require","validateShippingAddressOptions","addressId","fromUpdatedAt","pageSize","kAssert","Number","isSafeInteger","isInteger"],"sourceRoot":"../../src","sources":["validateShippingAddressOptions.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEO,SAASC,8BAA8BA,CAAC;EAC7CC,SAAS;EACTC,aAAa;EACbC;AAKF,CAAC,EAAE;EACD,IAAIF,SAAS,IAAI,IAAI,EAAE;IACrB,IAAAG,aAAO,EACLC,MAAM,CAACC,aAAa,CAACL,SAAS,CAAC,EAC/B,sDACF,CAAC;IAED;EACF;EAEA,IAAAG,aAAO,EACLF,aAAa,IAAI,IAAI,IAAKG,MAAM,CAACC,aAAa,CAACJ,aAAa,CAAC,IAAIA,aAAa,IAAI,CAAE,EACpF,uFACF,CAAC;EAED,IAAAE,aAAO,EACLD,QAAQ,IAAI,IAAI,IAAKE,MAAM,CAACE,SAAS,CAACJ,QAAQ,CAAC,IAAIA,QAAQ,IAAI,CAAC,IAAIA,QAAQ,IAAI,UAAW,EAC3F,0EACF,CAAC;AACH","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,67 +1,163 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { is } from '@mj-studio/js-util';
|
|
4
|
-
import { kAssert } from '@react-native-kakao/core';
|
|
4
|
+
import { kAssert, kCreateWebError } from '@react-native-kakao/core';
|
|
5
5
|
import Native from './spec/NativeKakaoUser';
|
|
6
|
+
import { validateShippingAddressOptions } from './validateShippingAddressOptions';
|
|
7
|
+
const minActivityRequestCode = -2147483648;
|
|
8
|
+
const maxActivityRequestCode = 2147483647;
|
|
9
|
+
const defaultTalkLaunchMethod = 'UniversalLink';
|
|
10
|
+
const webOnlyErrorCode = 'Package-UnsupportedPlatform';
|
|
6
11
|
export function login({
|
|
7
12
|
serviceTerms,
|
|
8
13
|
prompts,
|
|
9
14
|
useKakaoAccountLogin,
|
|
10
15
|
scopes,
|
|
11
|
-
nonce
|
|
16
|
+
nonce,
|
|
17
|
+
loginHint,
|
|
18
|
+
channelPublicIds,
|
|
19
|
+
android,
|
|
20
|
+
ios
|
|
12
21
|
} = {}) {
|
|
22
|
+
const requestCode = android?.requestCode;
|
|
23
|
+
kAssert(requestCode == null || Number.isInteger(requestCode) && requestCode >= minActivityRequestCode && requestCode <= maxActivityRequestCode, `[login] android.requestCode must be an integer from ${minActivityRequestCode} to ${maxActivityRequestCode}`);
|
|
13
24
|
kAssert(!useKakaoAccountLogin ? !is.notEmptyArray(prompts) && !is.notEmptyArray(scopes) : true, '[login] `prompts` and `scopes` cannot be passed if useKakaoAccountLogin is false.');
|
|
14
|
-
kAssert(is.notEmptyArray(scopes) ? !is.notEmptyArray(prompts) && !is.notEmptyArray(serviceTerms) : true, '[login] `scopes` cannot be passed with `prompts` or `
|
|
15
|
-
|
|
25
|
+
kAssert(is.notEmptyArray(scopes) ? !is.notEmptyArray(prompts) && !is.notEmptyArray(serviceTerms) && !is.notEmptyArray(channelPublicIds) : true, '[login] `scopes` cannot be passed with `prompts`, `serviceTerms`, or `channelPublicIds`');
|
|
26
|
+
kAssert(loginHint == null || !is.notEmptyArray(scopes) && !is.notEmptyArray(serviceTerms) && !is.notEmptyArray(channelPublicIds), '[login] `loginHint` cannot be passed with `scopes`, `serviceTerms`, or `channelPublicIds` on native platforms.');
|
|
27
|
+
return Native.login(serviceTerms ?? [], prompts ?? [], useKakaoAccountLogin ?? false, ios?.launchMethod ?? defaultTalkLaunchMethod, scopes ?? [], nonce, loginHint, channelPublicIds ?? [], requestCode);
|
|
16
28
|
}
|
|
17
|
-
export function
|
|
18
|
-
|
|
29
|
+
export async function signup({
|
|
30
|
+
properties
|
|
31
|
+
} = {}) {
|
|
32
|
+
await Native.signup(properties);
|
|
19
33
|
}
|
|
20
|
-
export function
|
|
21
|
-
|
|
34
|
+
export function loginWithKakao({
|
|
35
|
+
uiMode = 'auto',
|
|
36
|
+
prompts,
|
|
37
|
+
loginHint,
|
|
38
|
+
nonce,
|
|
39
|
+
channelPublicIds,
|
|
40
|
+
serviceTerms,
|
|
41
|
+
ios
|
|
42
|
+
} = {}) {
|
|
43
|
+
return Native.loginWithKakao(uiMode, ios?.orientation ?? 'auto', ios?.launchMethod ?? defaultTalkLaunchMethod, prompts ?? [], loginHint, nonce, channelPublicIds ?? [], serviceTerms ?? []);
|
|
44
|
+
}
|
|
45
|
+
export function refreshToken({
|
|
46
|
+
token,
|
|
47
|
+
ios
|
|
48
|
+
} = {}) {
|
|
49
|
+
kAssert(ios?.loggingEnabled == null || typeof ios.loggingEnabled === 'boolean', '[refreshToken] ios.loggingEnabled must be a boolean');
|
|
50
|
+
if (token !== undefined) {
|
|
51
|
+
kAssert(token != null && is.string(token.accessToken) && token.accessToken.length > 0 && is.string(token.refreshToken) && token.refreshToken.length > 0, '[refreshToken] token must contain non-empty accessToken and refreshToken strings');
|
|
52
|
+
kAssert([token.accessTokenExpiresAt, token.refreshTokenExpiresAt].every(value => Number.isFinite(value) && !Number.isNaN(new Date(value * 1000).getTime())) && [token.accessTokenExpiresIn, token.refreshTokenExpiresIn].every(Number.isFinite), '[refreshToken] token expiry timestamps must be valid Unix seconds and lifetimes must be finite');
|
|
53
|
+
kAssert((token.tokenType == null || is.string(token.tokenType)) && (token.idToken == null || is.string(token.idToken)) && Array.isArray(token.scopes) && token.scopes.every(scope => is.string(scope)), '[refreshToken] tokenType and idToken must be strings when present, and scopes must be strings');
|
|
54
|
+
}
|
|
55
|
+
return Native.refreshToken(token, ios?.loggingEnabled ?? true);
|
|
56
|
+
}
|
|
57
|
+
export async function logout() {
|
|
58
|
+
await Native.logout();
|
|
59
|
+
}
|
|
60
|
+
export async function unlink() {
|
|
61
|
+
await Native.unlink();
|
|
22
62
|
}
|
|
23
63
|
export function isLogined() {
|
|
24
64
|
return Native.isLogined();
|
|
25
65
|
}
|
|
66
|
+
export const hasToken = Native.hasToken;
|
|
26
67
|
export function isKakaoTalkLoginAvailable() {
|
|
27
68
|
return Native.isKakaoTalkLoginAvailable();
|
|
28
69
|
}
|
|
29
70
|
export function scopes(scopes) {
|
|
30
71
|
return Native.scopes(scopes);
|
|
31
72
|
}
|
|
32
|
-
export function revokeScopes(scopes) {
|
|
73
|
+
export async function revokeScopes(scopes) {
|
|
74
|
+
await Native.revokeScopes(scopes);
|
|
75
|
+
}
|
|
76
|
+
export function revokeScopesWithResult(scopes) {
|
|
33
77
|
return Native.revokeScopes(scopes);
|
|
34
78
|
}
|
|
35
|
-
export function serviceTerms(
|
|
36
|
-
|
|
79
|
+
export function serviceTerms({
|
|
80
|
+
result,
|
|
81
|
+
tags
|
|
82
|
+
} = {}) {
|
|
83
|
+
return Native.serviceTerms(result, tags);
|
|
84
|
+
}
|
|
85
|
+
export async function shippingAddresses({
|
|
86
|
+
addressId,
|
|
87
|
+
fromUpdatedAt,
|
|
88
|
+
pageSize
|
|
89
|
+
} = {}) {
|
|
90
|
+
validateShippingAddressOptions({
|
|
91
|
+
addressId,
|
|
92
|
+
fromUpdatedAt,
|
|
93
|
+
pageSize
|
|
94
|
+
});
|
|
95
|
+
return Native.shippingAddresses(addressId, fromUpdatedAt, pageSize);
|
|
37
96
|
}
|
|
38
|
-
export function
|
|
39
|
-
return Native.
|
|
97
|
+
export function revokeServiceTerms(tags) {
|
|
98
|
+
return Native.revokeServiceTerms(tags);
|
|
40
99
|
}
|
|
41
|
-
export function
|
|
42
|
-
return Native.
|
|
100
|
+
export function selectShippingAddress() {
|
|
101
|
+
return Native.selectShippingAddress();
|
|
102
|
+
}
|
|
103
|
+
export function me({
|
|
104
|
+
propertyKeys,
|
|
105
|
+
secureResource = true
|
|
106
|
+
} = {}) {
|
|
107
|
+
return Native.me(propertyKeys, secureResource);
|
|
108
|
+
}
|
|
109
|
+
export async function issueAccessTokenWithCode({
|
|
110
|
+
code,
|
|
111
|
+
codeVerifier,
|
|
112
|
+
redirectUri
|
|
113
|
+
}) {
|
|
114
|
+
kAssert(is.string(code) && code.length > 0, '[issueAccessTokenWithCode] code is required');
|
|
115
|
+
return Native.issueAccessTokenWithCode(code, codeVerifier, redirectUri);
|
|
43
116
|
}
|
|
44
117
|
export function getAccessToken() {
|
|
45
118
|
return Native.getAccessToken();
|
|
46
119
|
}
|
|
120
|
+
export async function updateProfile({
|
|
121
|
+
properties
|
|
122
|
+
}) {
|
|
123
|
+
await Native.updateProfile(properties);
|
|
124
|
+
}
|
|
47
125
|
|
|
48
126
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
49
|
-
export function setAccessTokenWeb(token) {
|
|
127
|
+
export function setAccessTokenWeb(token) {
|
|
128
|
+
kCreateWebError({
|
|
129
|
+
code: webOnlyErrorCode,
|
|
130
|
+
message: '[setAccessTokenWeb] This API is only supported on web.'
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
50
134
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
51
135
|
export async function issueAccessTokenWithCodeWeb(params) {
|
|
52
|
-
|
|
136
|
+
kCreateWebError({
|
|
137
|
+
code: webOnlyErrorCode,
|
|
138
|
+
message: '[issueAccessTokenWithCodeWeb] This API is only supported on web.'
|
|
139
|
+
});
|
|
53
140
|
}
|
|
54
141
|
const KakaoUser = {
|
|
55
142
|
login,
|
|
143
|
+
loginWithKakao,
|
|
144
|
+
refreshToken,
|
|
145
|
+
issueAccessTokenWithCode,
|
|
146
|
+
signup,
|
|
56
147
|
logout,
|
|
57
148
|
unlink,
|
|
58
149
|
isLogined,
|
|
150
|
+
hasToken,
|
|
59
151
|
isKakaoTalkLoginAvailable,
|
|
60
152
|
scopes,
|
|
61
153
|
revokeScopes,
|
|
154
|
+
revokeScopesWithResult,
|
|
62
155
|
serviceTerms,
|
|
156
|
+
revokeServiceTerms,
|
|
63
157
|
shippingAddresses,
|
|
158
|
+
selectShippingAddress,
|
|
64
159
|
me,
|
|
160
|
+
updateProfile,
|
|
65
161
|
getAccessToken,
|
|
66
162
|
setAccessTokenWeb,
|
|
67
163
|
issueAccessTokenWithCodeWeb
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["is","kAssert","Native","login","serviceTerms","prompts","useKakaoAccountLogin","scopes","nonce","notEmptyArray","logout","unlink","isLogined","isKakaoTalkLoginAvailable","revokeScopes","shippingAddresses","me","getAccessToken","setAccessTokenWeb","
|
|
1
|
+
{"version":3,"names":["is","kAssert","kCreateWebError","Native","validateShippingAddressOptions","minActivityRequestCode","maxActivityRequestCode","defaultTalkLaunchMethod","webOnlyErrorCode","login","serviceTerms","prompts","useKakaoAccountLogin","scopes","nonce","loginHint","channelPublicIds","android","ios","requestCode","Number","isInteger","notEmptyArray","launchMethod","signup","properties","loginWithKakao","uiMode","orientation","refreshToken","token","loggingEnabled","undefined","string","accessToken","length","accessTokenExpiresAt","refreshTokenExpiresAt","every","value","isFinite","isNaN","Date","getTime","accessTokenExpiresIn","refreshTokenExpiresIn","tokenType","idToken","Array","isArray","scope","logout","unlink","isLogined","hasToken","isKakaoTalkLoginAvailable","revokeScopes","revokeScopesWithResult","result","tags","shippingAddresses","addressId","fromUpdatedAt","pageSize","revokeServiceTerms","selectShippingAddress","me","propertyKeys","secureResource","issueAccessTokenWithCode","code","codeVerifier","redirectUri","getAccessToken","updateProfile","setAccessTokenWeb","message","issueAccessTokenWithCodeWeb","params","KakaoUser"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.web.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { camelCaseObject, filterNonNullishKeys, is } from '@mj-studio/js-util';
|
|
4
|
-
import { kFetchFormUrlEncoded, kGlobalStorage, kRunWebAPI } from '@react-native-kakao/core';
|
|
4
|
+
import { kAssert, kCreateWebError, kFetch, kFetchFormUrlEncoded, kGlobalStorage, kRunWebAPI } from '@react-native-kakao/core';
|
|
5
|
+
import { validateShippingAddressOptions } from './validateShippingAddressOptions';
|
|
5
6
|
function isoToUnix(value) {
|
|
6
7
|
if (!is.string(value)) {
|
|
7
8
|
return value;
|
|
@@ -9,6 +10,19 @@ function isoToUnix(value) {
|
|
|
9
10
|
return Date.parse(value) / 1000;
|
|
10
11
|
}
|
|
11
12
|
const KakaoUser = {
|
|
13
|
+
loginWithKakao: () => kRunWebAPI(() => {
|
|
14
|
+
throw {
|
|
15
|
+
code: 'Package-UnsupportedPlatform',
|
|
16
|
+
message: 'loginWithKakao is supported on Android and iOS. Use login with web.redirectUri on web.'
|
|
17
|
+
};
|
|
18
|
+
}),
|
|
19
|
+
refreshToken: () => kRunWebAPI(() => {
|
|
20
|
+
throw {
|
|
21
|
+
code: 'Package-UnsupportedPlatform',
|
|
22
|
+
message: 'The Kakao JavaScript SDK does not support refreshToken.'
|
|
23
|
+
};
|
|
24
|
+
}),
|
|
25
|
+
hasToken: () => kRunWebAPI(() => Kakao.Auth.getAccessToken() != null),
|
|
12
26
|
getAccessToken: () => kRunWebAPI(async () => {
|
|
13
27
|
const {
|
|
14
28
|
id,
|
|
@@ -23,9 +37,49 @@ const KakaoUser = {
|
|
|
23
37
|
appId: app_id
|
|
24
38
|
};
|
|
25
39
|
}),
|
|
40
|
+
issueAccessTokenWithCode: ({
|
|
41
|
+
code,
|
|
42
|
+
codeVerifier,
|
|
43
|
+
redirectUri,
|
|
44
|
+
web
|
|
45
|
+
}) => kRunWebAPI(async () => {
|
|
46
|
+
kAssert(is.string(code) && code.length > 0 && is.string(redirectUri) && redirectUri.length > 0, '[issueAccessTokenWithCode] code and redirectUri are required on web');
|
|
47
|
+
if (typeof Kakao === 'undefined' || !Kakao.isInitialized()) {
|
|
48
|
+
kCreateWebError({
|
|
49
|
+
code: 'Package-SDKNotInitialized',
|
|
50
|
+
message: 'Initialize the Kakao SDK before exchanging an authorization code.'
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const token = await KakaoUser.issueAccessTokenWithCodeWeb({
|
|
54
|
+
code,
|
|
55
|
+
codeVerifier,
|
|
56
|
+
redirectUri: redirectUri,
|
|
57
|
+
clientSecret: web?.clientSecret
|
|
58
|
+
});
|
|
59
|
+
if (!is.string(token.accessToken) || !token.accessToken || !is.string(token.refreshToken) || !token.refreshToken || !is.string(token.tokenType) || token.idToken != null && !is.string(token.idToken) || !Number.isFinite(token.expiresIn) || token.expiresIn < 0 || !Number.isFinite(token.refreshTokenExpiresIn) || token.refreshTokenExpiresIn < 0 || token.scope != null && !is.string(token.scope)) {
|
|
60
|
+
kCreateWebError({
|
|
61
|
+
code: 'Package-APIResponseNotFound',
|
|
62
|
+
message: 'issueAccessTokenWithCode returned invalid token data.'
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
const issuedAt = Math.floor(Date.now() / 1000);
|
|
66
|
+
KakaoUser.setAccessTokenWeb(token.accessToken);
|
|
67
|
+
return {
|
|
68
|
+
accessToken: token.accessToken,
|
|
69
|
+
refreshToken: token.refreshToken,
|
|
70
|
+
tokenType: token.tokenType,
|
|
71
|
+
idToken: token.idToken,
|
|
72
|
+
accessTokenExpiresIn: token.expiresIn,
|
|
73
|
+
refreshTokenExpiresIn: token.refreshTokenExpiresIn,
|
|
74
|
+
accessTokenExpiresAt: issuedAt + token.expiresIn,
|
|
75
|
+
refreshTokenExpiresAt: issuedAt + token.refreshTokenExpiresIn,
|
|
76
|
+
scopes: token.scope?.split(' ').filter(Boolean) ?? []
|
|
77
|
+
};
|
|
78
|
+
}),
|
|
26
79
|
issueAccessTokenWithCodeWeb: ({
|
|
27
80
|
clientSecret,
|
|
28
81
|
code,
|
|
82
|
+
codeVerifier,
|
|
29
83
|
redirectUri
|
|
30
84
|
}) => kRunWebAPI(async () => {
|
|
31
85
|
const res = await kFetchFormUrlEncoded('https://kauth.kakao.com/oauth/token', {
|
|
@@ -35,6 +89,7 @@ const KakaoUser = {
|
|
|
35
89
|
client_id: kGlobalStorage.restApiKey,
|
|
36
90
|
redirect_uri: redirectUri,
|
|
37
91
|
code,
|
|
92
|
+
code_verifier: codeVerifier,
|
|
38
93
|
client_secret: clientSecret
|
|
39
94
|
})
|
|
40
95
|
}).then(r => r.body);
|
|
@@ -55,8 +110,10 @@ const KakaoUser = {
|
|
|
55
110
|
throughTalk,
|
|
56
111
|
serviceTerms
|
|
57
112
|
} = params?.web ?? {};
|
|
113
|
+
const channelPublicIds = params?.channelPublicIds;
|
|
58
114
|
return Kakao.Auth.authorize(filterNonNullishKeys({
|
|
59
|
-
loginHint,
|
|
115
|
+
loginHint: params?.loginHint ?? loginHint,
|
|
116
|
+
channelPublicId: channelPublicIds?.length ? channelPublicIds.join(',') : undefined,
|
|
60
117
|
nonce: params?.nonce ?? nonce,
|
|
61
118
|
prompt: (prompt ?? params?.prompts?.map(value => value === 'SelectAccount' ? 'select_account' : value.toLowerCase()))?.join(','),
|
|
62
119
|
redirectUri,
|
|
@@ -66,6 +123,16 @@ const KakaoUser = {
|
|
|
66
123
|
throughTalk: throughTalk ?? (params?.useKakaoAccountLogin ? false : undefined)
|
|
67
124
|
}));
|
|
68
125
|
}),
|
|
126
|
+
signup: ({
|
|
127
|
+
properties
|
|
128
|
+
} = {}) => kRunWebAPI(async () => {
|
|
129
|
+
await Kakao.API.request({
|
|
130
|
+
url: '/v1/user/signup',
|
|
131
|
+
data: filterNonNullishKeys({
|
|
132
|
+
properties
|
|
133
|
+
})
|
|
134
|
+
});
|
|
135
|
+
}),
|
|
69
136
|
logout: () => kRunWebAPI(async () => {
|
|
70
137
|
try {
|
|
71
138
|
await Kakao.Auth.logout();
|
|
@@ -98,32 +165,65 @@ const KakaoUser = {
|
|
|
98
165
|
scopes
|
|
99
166
|
} : undefined
|
|
100
167
|
});
|
|
101
|
-
return camelCaseObject(response.scopes);
|
|
168
|
+
return camelCaseObject(response.scopes ?? []);
|
|
102
169
|
}),
|
|
103
|
-
revokeScopes:
|
|
104
|
-
await
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
})
|
|
111
|
-
serviceTerms: () => kRunWebAPI(async () => {
|
|
170
|
+
revokeScopes: async scopes => {
|
|
171
|
+
await revokeScopesWithResult(scopes);
|
|
172
|
+
},
|
|
173
|
+
revokeScopesWithResult,
|
|
174
|
+
serviceTerms: ({
|
|
175
|
+
result,
|
|
176
|
+
tags
|
|
177
|
+
} = {}) => kRunWebAPI(async () => {
|
|
112
178
|
const response = await Kakao.API.request({
|
|
113
|
-
url: '/v2/user/service_terms'
|
|
179
|
+
url: '/v2/user/service_terms',
|
|
180
|
+
data: filterNonNullishKeys({
|
|
181
|
+
result,
|
|
182
|
+
tags: tags?.join(',')
|
|
183
|
+
})
|
|
114
184
|
});
|
|
115
|
-
return (response.service_terms ?? []).map(term => ({
|
|
185
|
+
return (response.service_terms ?? []).map(term => filterNonNullishKeys({
|
|
116
186
|
tag: term.tag,
|
|
117
|
-
agreedAt: isoToUnix(term.agreed_at),
|
|
187
|
+
agreedAt: term.agreed_at ? isoToUnix(term.agreed_at) : undefined,
|
|
118
188
|
agreed: term.agreed,
|
|
119
189
|
required: term.required,
|
|
120
|
-
revocable: term.revocable
|
|
190
|
+
revocable: term.revocable,
|
|
191
|
+
agreedBy: term.agreed_by == null ? undefined : term.agreed_by === 'KAUTH' || term.agreed_by === 'KAPI' ? term.agreed_by : 'unknown'
|
|
121
192
|
}));
|
|
122
193
|
}),
|
|
123
|
-
|
|
124
|
-
const response =
|
|
125
|
-
url: '/
|
|
126
|
-
|
|
194
|
+
revokeServiceTerms: tags => kRunWebAPI(async () => {
|
|
195
|
+
const response = await Kakao.API.request({
|
|
196
|
+
url: '/v2/user/revoke/service_terms',
|
|
197
|
+
data: {
|
|
198
|
+
tags: tags.join(',')
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
return response.revoked_service_terms ?? [];
|
|
202
|
+
}),
|
|
203
|
+
shippingAddresses: ({
|
|
204
|
+
addressId,
|
|
205
|
+
fromUpdatedAt,
|
|
206
|
+
pageSize
|
|
207
|
+
} = {}) => kRunWebAPI(async () => {
|
|
208
|
+
validateShippingAddressOptions({
|
|
209
|
+
addressId,
|
|
210
|
+
fromUpdatedAt,
|
|
211
|
+
pageSize
|
|
212
|
+
});
|
|
213
|
+
const query = new URLSearchParams(Object.entries(filterNonNullishKeys(addressId != null ? {
|
|
214
|
+
address_id: addressId
|
|
215
|
+
} : {
|
|
216
|
+
from_updated_at: fromUpdatedAt,
|
|
217
|
+
page_size: pageSize
|
|
218
|
+
})).map(([key, value]) => [key, String(value)]));
|
|
219
|
+
const {
|
|
220
|
+
body
|
|
221
|
+
} = await kFetch(`https://kapi.kakao.com/v1/user/shipping_address?${query}`, {
|
|
222
|
+
headers: {
|
|
223
|
+
Authorization: `Bearer ${Kakao.Auth.getAccessToken() ?? ''}`
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
const response = camelCaseObject(body);
|
|
127
227
|
return {
|
|
128
228
|
userId: response.userId,
|
|
129
229
|
needsAgreement: response.shippingAddressesNeedsAgreement,
|
|
@@ -133,15 +233,62 @@ const KakaoUser = {
|
|
|
133
233
|
}))
|
|
134
234
|
};
|
|
135
235
|
}),
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
236
|
+
selectShippingAddress: () => kRunWebAPI(async () => {
|
|
237
|
+
try {
|
|
238
|
+
const {
|
|
239
|
+
address_id
|
|
240
|
+
} = await Kakao.Auth.selectShippingAddress();
|
|
241
|
+
return address_id;
|
|
242
|
+
} catch (error) {
|
|
243
|
+
if (error != null && typeof error === 'object' && 'error_code' in error) {
|
|
244
|
+
throw {
|
|
245
|
+
code: String(error.error_code),
|
|
246
|
+
message: 'error_msg' in error ? String(error.error_msg) : undefined
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
throw error;
|
|
250
|
+
}
|
|
251
|
+
}),
|
|
252
|
+
updateProfile: ({
|
|
253
|
+
properties
|
|
254
|
+
}) => kRunWebAPI(async () => {
|
|
255
|
+
await Kakao.API.request({
|
|
256
|
+
url: '/v1/user/update_profile',
|
|
257
|
+
data: {
|
|
258
|
+
properties
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
}),
|
|
262
|
+
me: ({
|
|
263
|
+
propertyKeys,
|
|
264
|
+
secureResource = true
|
|
265
|
+
} = {}) => kRunWebAPI(async () => {
|
|
266
|
+
const response = await Kakao.API.request({
|
|
267
|
+
url: '/v2/user/me',
|
|
268
|
+
data: filterNonNullishKeys({
|
|
269
|
+
property_keys: propertyKeys,
|
|
270
|
+
secure_resource: secureResource
|
|
271
|
+
})
|
|
272
|
+
});
|
|
273
|
+
const ret = camelCaseObject(response);
|
|
140
274
|
const kakaoAccount = ret.kakaoAccount ?? {};
|
|
141
275
|
const properties = ret.properties ?? {};
|
|
142
276
|
const profile = kakaoAccount.profile ?? {};
|
|
277
|
+
const legalGender = kakaoAccount.legalGender;
|
|
143
278
|
return {
|
|
144
279
|
id: ret.id,
|
|
280
|
+
properties: response.properties ?? {},
|
|
281
|
+
hasSignedUp: ret.hasSignedUp ?? null,
|
|
282
|
+
uuid: ret.forPartner?.uuid ?? null,
|
|
283
|
+
groupUserToken: ret.groupUserToken ?? null,
|
|
284
|
+
isDefaultImage: profile.isDefaultImage ?? null,
|
|
285
|
+
isLeapMonth: kakaoAccount.isLeapMonth ?? null,
|
|
286
|
+
legalName: kakaoAccount.legalName ?? null,
|
|
287
|
+
legalNameNeedsAgreement: kakaoAccount.legalNameNeedsAgreement ?? null,
|
|
288
|
+
legalBirthDate: kakaoAccount.legalBirthDate ?? null,
|
|
289
|
+
legalBirthDateNeedsAgreement: kakaoAccount.legalBirthDateNeedsAgreement,
|
|
290
|
+
legalGender: legalGender === 'female' || legalGender === 'male' ? legalGender : null,
|
|
291
|
+
legalGenderNeedsAgreement: kakaoAccount.legalGenderNeedsAgreement ?? null,
|
|
145
292
|
email: kakaoAccount.email,
|
|
146
293
|
name: kakaoAccount.name,
|
|
147
294
|
nickname: profile.nickname ?? properties.nickname,
|
|
@@ -167,22 +314,40 @@ const KakaoUser = {
|
|
|
167
314
|
nameNeedsAgreement: kakaoAccount.nameNeedsAgreement,
|
|
168
315
|
profileImageNeedsAgreement: kakaoAccount.profileImageNeedsAgreement,
|
|
169
316
|
profileNicknameNeedsAgreement: kakaoAccount.profileNicknameNeedsAgreement,
|
|
170
|
-
legalBirthDateNeedsAgreement: kakaoAccount.legalBirthDateNeedsAgreement,
|
|
171
317
|
connectedAt: isoToUnix(ret.connectedAt),
|
|
172
318
|
synchedAt: isoToUnix(ret.synchedAt)
|
|
173
319
|
};
|
|
174
320
|
})
|
|
175
321
|
};
|
|
322
|
+
export function revokeScopesWithResult(scopes) {
|
|
323
|
+
return kRunWebAPI(async () => {
|
|
324
|
+
const response = await Kakao.API.request({
|
|
325
|
+
url: '/v2/user/revoke/scopes',
|
|
326
|
+
data: {
|
|
327
|
+
scopes
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
return camelCaseObject(response.scopes ?? []);
|
|
331
|
+
});
|
|
332
|
+
}
|
|
176
333
|
export const {
|
|
334
|
+
loginWithKakao,
|
|
335
|
+
refreshToken,
|
|
336
|
+
issueAccessTokenWithCode,
|
|
177
337
|
isKakaoTalkLoginAvailable,
|
|
178
338
|
isLogined,
|
|
339
|
+
hasToken,
|
|
179
340
|
login,
|
|
341
|
+
signup,
|
|
180
342
|
logout,
|
|
181
343
|
me,
|
|
344
|
+
updateProfile,
|
|
182
345
|
revokeScopes,
|
|
183
346
|
scopes,
|
|
184
347
|
serviceTerms,
|
|
348
|
+
revokeServiceTerms,
|
|
185
349
|
shippingAddresses,
|
|
350
|
+
selectShippingAddress,
|
|
186
351
|
unlink,
|
|
187
352
|
setAccessTokenWeb,
|
|
188
353
|
issueAccessTokenWithCodeWeb,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["camelCaseObject","filterNonNullishKeys","is","kFetchFormUrlEncoded","kGlobalStorage","kRunWebAPI","isoToUnix","value","string","Date","parse","KakaoUser","getAccessToken","id","expires_in","app_id","Kakao","API","request","url","expiresIn","appId","issueAccessTokenWithCodeWeb","clientSecret","code","redirectUri","res","method","body","grant_type","client_id","restApiKey","redirect_uri","client_secret","then","r","setAccessTokenWeb","token","Auth","setAccessToken","accessToken","login","params","loginHint","nonce","prompt","scope","state","throughTalk","serviceTerms","web","authorize","prompts","map","toLowerCase","join","scopes","useKakaoAccountLogin","undefined","logout","clearAccessToken","isLogined","e","isKakaoTalkLoginAvailable","unlink","response","data","length","revokeScopes","service_terms","term","tag","agreedAt","agreed_at","agreed","required","revocable","shippingAddresses","userId","needsAgreement","shippingAddressesNeedsAgreement","address","updatedAt","me","ret","kakaoAccount","properties","profile","email","name","nickname","profileImageUrl","profileImage","thumbnailImageUrl","thumbnailImage","phoneNumber","isEmailValid","isEmailVerified","ageRange","birthday","birthdayType","birthyear","gender","isKorean","ageRangeNeedsAgreement","birthdayNeedsAgreement","birthyearNeedsAgreement","emailNeedsAgreement","genderNeedsAgreement","isKoreanNeedsAgreement","phoneNumberNeedsAgreement","profileNeedsAgreement","nameNeedsAgreement","profileImageNeedsAgreement","profileNicknameNeedsAgreement","legalBirthDateNeedsAgreement","connectedAt","synchedAt"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA,SAASA,eAAe,EAAEC,oBAAoB,EAAEC,EAAE,QAAQ,oBAAoB;AAC9E,SAASC,oBAAoB,EAAEC,cAAc,EAAEC,UAAU,QAAQ,0BAA0B;AAmB3F,SAASC,SAASA,CAACC,KAAuB,EAAE;EAC1C,IAAI,CAACL,EAAE,CAACM,MAAM,CAACD,KAAK,CAAC,EAAE;IACrB,OAAOA,KAAK;EACd;EAEA,OAAOE,IAAI,CAACC,KAAK,CAACH,KAAK,CAAC,GAAG,IAAI;AACjC;AAEA,MAAMI,SAAuB,GAAG;EAC9BC,cAAc,EAAEA,CAAA,KACdP,UAAU,CAAC,YAAY;IACrB,MAAM;MAAEQ,EAAE;MAAEC,UAAU;MAAEC;IAA2D,CAAC,GAClF,MAAMC,KAAK,CAACC,GAAG,CAACC,OAAO,CAAC;MAAEC,GAAG,EAAE;IAA6B,CAAC,CAAC;IAEhE,OAAO;MACLN,EAAE;MACFO,SAAS,EAAEN,UAAU;MACrBO,KAAK,EAAEN;IACT,CAAC;EACH,CAAC,CAAC;EACJO,2BAA2B,EAAEA,CAAC;IAAEC,YAAY;IAAEC,IAAI;IAAEC;EAAY,CAAC,KAC/DpB,UAAU,CAAC,YAAY;IACrB,MAAMqB,GAAG,GAAG,MAAMvB,oBAAoB,CAQnC,qCAAqC,EAAE;MACxCwB,MAAM,EAAE,MAAM;MACdC,IAAI,EAAE3B,oBAAoB,CAAC;QACzB4B,UAAU,EAAE,oBAAoB;QAChCC,SAAS,EAAE1B,cAAc,CAAC2B,UAAU;QACpCC,YAAY,EAAEP,WAAW;QACzBD,IAAI;QACJS,aAAa,EAAEV;MACjB,CAAC;IACH,CAAC,CAAC,CAACW,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACP,IAAI,CAAC;IAEtB,OAAO5B,eAAe,CAAC0B,GAAG,CAAC;EAC7B,CAAC,CAAC;EACJU,iBAAiB,EAAGC,KAAa,IAAK;IACpCrB,KAAK,CAACsB,IAAI,CAACC,cAAc,CAACF,KAAK,CAAC;IAChCjC,cAAc,CAACoC,WAAW,GAAGH,KAAK;EACpC,CAAC;EACDI,KAAK,EAAGC,MAAM,IACZrC,UAAU,CAAC,MAAM;IACf,MAAM;MAAEsC,SAAS;MAAEC,KAAK;MAAEC,MAAM;MAAEpB,WAAW;MAAEqB,KAAK;MAAEC,KAAK;MAAEC,WAAW;MAAEC;IAAa,CAAC,GACtFP,MAAM,EAAEQ,GAAG,IAAI,CAAC,CAAC;IAEnB,OAAOlC,KAAK,CAACsB,IAAI,CAACa,SAAS,CACzBlD,oBAAoB,CAAC;MACnB0C,SAAS;MACTC,KAAK,EAAEF,MAAM,EAAEE,KAAK,IAAIA,KAAK;MAC7BC,MAAM,EAAE,CACNA,MAAM,IACNH,MAAM,EAAEU,OAAO,EAAEC,GAAG,CAAE9C,KAAK,IACzBA,KAAK,KAAK,eAAe,GAAG,gBAAgB,GAAGA,KAAK,CAAC+C,WAAW,CAAC,CACnE,CAAC,GACAC,IAAI,CAAC,GAAG,CAAC;MACZ9B,WAAW;MACXqB,KAAK,EAAE,CAACA,KAAK,IAAIJ,MAAM,EAAEc,MAAM,GAAGD,IAAI,CAAC,GAAG,CAAC;MAC3CN,YAAY,EAAE,CAACA,YAAY,IAAIP,MAAM,EAAEO,YAAY,GAAGM,IAAI,CAAC,GAAG,CAAC;MAC/DR,KAAK;MACLC,WAAW,EAAEA,WAAW,KAAKN,MAAM,EAAEe,oBAAoB,GAAG,KAAK,GAAGC,SAAS;IAC/E,CAAC,CACH,CAAC;EACH,CAAC,CAAC;EACJC,MAAM,EAAEA,CAAA,KACNtD,UAAU,CAAC,YAAY;IACrB,IAAI;MACF,MAAMW,KAAK,CAACsB,IAAI,CAACqB,MAAM,CAAC,CAAC;IAC3B,CAAC,SAAS;MACRvD,cAAc,CAACwD,gBAAgB,CAAC,CAAC;IACnC;EACF,CAAC,CAAC;EACJC,SAAS,EAAE,MAAAA,CAAA,KAA8B;IACvC,IAAI;MACF,MAAM;QAAExC;MAAM,CAAC,GAAG,MAAMV,SAAS,CAACC,cAAc,CAAC,CAAC;MAElD,OAAO,CAAC,CAACS,KAAK;IAChB,CAAC,CAAC,OAAOyC,CAAC,EAAE;MACV,OAAO,KAAK;IACd;EACF,CAAC;EACDC,yBAAyB,EAAE,MAAAA,CAAA,KAAY,KAAK;EAC5CC,MAAM,EAAEA,CAAA,KACN3D,UAAU,CAAC,YAAY;IACrB,MAAMW,KAAK,CAACC,GAAG,CAACC,OAAO,CAAC;MAAEC,GAAG,EAAE;IAAkB,CAAC,CAAC;IACnDH,KAAK,CAACsB,IAAI,CAACC,cAAc,CAAC,IAAI,CAAC;IAC/BnC,cAAc,CAACwD,gBAAgB,CAAC,CAAC;EACnC,CAAC,CAAC;EACJJ,MAAM,EAAGA,MAAiB,IACxBnD,UAAU,CAAC,YAAY;IACrB,MAAM4D,QAAQ,GAAG,MAAMjD,KAAK,CAACC,GAAG,CAACC,OAAO,CAAC;MACvCC,GAAG,EAAE,iBAAiB;MACtB+C,IAAI,EAAEV,MAAM,EAAEW,MAAM,GAAG;QAAEX;MAAO,CAAC,GAAGE;IACtC,CAAC,CAAC;IAEF,OAAO1D,eAAe,CAACiE,QAAQ,CAACT,MAAM,CAAC;EACzC,CAAC,CAAC;EACJY,YAAY,EAAGZ,MAAgB,IAC7BnD,UAAU,CAAC,YAAY;IACrB,MAAMW,KAAK,CAACC,GAAG,CAACC,OAAO,CAAC;MACtBC,GAAG,EAAE,wBAAwB;MAC7B+C,IAAI,EAAE;QACJV;MACF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EACJP,YAAY,EAAEA,CAAA,KACZ5C,UAAU,CAAC,YAAY;IACrB,MAAM4D,QAQL,GAAG,MAAMjD,KAAK,CAACC,GAAG,CAACC,OAAO,CAAC;MAAEC,GAAG,EAAE;IAAyB,CAAC,CAAC;IAE9D,OAAO,CAAC8C,QAAQ,CAACI,aAAa,IAAI,EAAE,EAAEhB,GAAG,CAAEiB,IAAI,KAAM;MACnDC,GAAG,EAAED,IAAI,CAACC,GAAG;MACbC,QAAQ,EAAElE,SAAS,CAACgE,IAAI,CAACG,SAAS,CAAC;MACnCC,MAAM,EAAEJ,IAAI,CAACI,MAAM;MACnBC,QAAQ,EAAEL,IAAI,CAACK,QAAQ;MACvBC,SAAS,EAAEN,IAAI,CAACM;IAClB,CAAC,CAAC,CAAC;EACL,CAAC,CAAC;EACJC,iBAAiB,EAAEA,CAAA,KACjBxE,UAAU,CAAC,YAAY;IACrB,MAAM4D,QAAQ,GAAGjE,eAAe,CAC9B,MAAMgB,KAAK,CAACC,GAAG,CAACC,OAAO,CAAC;MAAEC,GAAG,EAAE;IAA4B,CAAC,CAC9D,CASC;IAED,OAAO;MACL2D,MAAM,EAAEb,QAAQ,CAACa,MAAM;MACvBC,cAAc,EAAEd,QAAQ,CAACe,+BAA+B;MACxDH,iBAAiB,EAAE,CAACZ,QAAQ,CAACY,iBAAiB,IAAI,EAAE,EAAExB,GAAG,CAAE4B,OAAO,KAAM;QACtE,GAAGA,OAAO;QACVC,SAAS,EAAE5E,SAAS,CAAC2E,OAAO,CAACC,SAAS;MACxC,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,CAAC;EACJC,EAAE,EAAEA,CAAA,KACF9E,UAAU,CAAC,YAAY;IACrB,MAAM+E,GAAG,GAAGpF,eAAe,CAAC,MAAMgB,KAAK,CAACC,GAAG,CAACC,OAAO,CAAC;MAAEC,GAAG,EAAE;IAAc,CAAC,CAAC,CAU1E;IACD,MAAMkE,YAAY,GAAGD,GAAG,CAACC,YAAY,IAAI,CAAC,CAAC;IAC3C,MAAMC,UAAU,GAAGF,GAAG,CAACE,UAAU,IAAI,CAAC,CAAC;IACvC,MAAMC,OAAO,GAAGF,YAAY,CAACE,OAAO,IAAI,CAAC,CAAC;IAE1C,OAAO;MACL1E,EAAE,EAAEuE,GAAG,CAACvE,EAAE;MACV2E,KAAK,EAAEH,YAAY,CAACG,KAAK;MACzBC,IAAI,EAAEJ,YAAY,CAACI,IAAI;MACvBC,QAAQ,EAAEH,OAAO,CAACG,QAAQ,IAAIJ,UAAU,CAACI,QAAQ;MACjDC,eAAe,EAAEJ,OAAO,CAACI,eAAe,IAAIL,UAAU,CAACM,YAAY;MACnEC,iBAAiB,EAAEN,OAAO,CAACM,iBAAiB,IAAIP,UAAU,CAACQ,cAAc;MACzEC,WAAW,EAAEV,YAAY,CAACU,WAAW;MACrCC,YAAY,EAAEX,YAAY,CAACW,YAAY;MACvCC,eAAe,EAAEZ,YAAY,CAACY,eAAe;MAC7CC,QAAQ,EAAEb,YAAY,CAACa,QAAQ;MAC/BC,QAAQ,EAAEd,YAAY,CAACc,QAAQ;MAC/BC,YAAY,EAAEf,YAAY,CAACe,YAAY;MACvCC,SAAS,EAAEhB,YAAY,CAACgB,SAAS;MACjCC,MAAM,EAAEjB,YAAY,CAACiB,MAAM;MAC3BC,QAAQ,EAAElB,YAAY,CAACkB,QAAQ;MAC/BC,sBAAsB,EAAEnB,YAAY,CAACmB,sBAAsB;MAC3DC,sBAAsB,EAAEpB,YAAY,CAACoB,sBAAsB;MAC3DC,uBAAuB,EAAErB,YAAY,CAACqB,uBAAuB;MAC7DC,mBAAmB,EAAEtB,YAAY,CAACsB,mBAAmB;MACrDC,oBAAoB,EAAEvB,YAAY,CAACuB,oBAAoB;MACvDC,sBAAsB,EAAExB,YAAY,CAACwB,sBAAsB;MAC3DC,yBAAyB,EAAEzB,YAAY,CAACyB,yBAAyB;MACjEC,qBAAqB,EAAE1B,YAAY,CAAC0B,qBAAqB;MACzDC,kBAAkB,EAAE3B,YAAY,CAAC2B,kBAAkB;MACnDC,0BAA0B,EAAE5B,YAAY,CAAC4B,0BAA0B;MACnEC,6BAA6B,EAAE7B,YAAY,CAAC6B,6BAA6B;MACzEC,4BAA4B,EAAE9B,YAAY,CAAC8B,4BAA4B;MACvEC,WAAW,EAAE9G,SAAS,CAAC8E,GAAG,CAACgC,WAAW,CAAC;MACvCC,SAAS,EAAE/G,SAAS,CAAC8E,GAAG,CAACiC,SAAS;IACpC,CAAC;EACH,CAAC;AACL,CAAC;AAED,OAAO,MAAM;EACXtD,yBAAyB;EACzBF,SAAS;EACTpB,KAAK;EACLkB,MAAM;EACNwB,EAAE;EACFf,YAAY;EACZZ,MAAM;EACNP,YAAY;EACZ4B,iBAAiB;EACjBb,MAAM;EACN5B,iBAAiB;EACjBd,2BAA2B;EAC3BV;AACF,CAAC,GAAGD,SAAS;AAEb,eAAeA,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["camelCaseObject","filterNonNullishKeys","is","kAssert","kCreateWebError","kFetch","kFetchFormUrlEncoded","kGlobalStorage","kRunWebAPI","validateShippingAddressOptions","isoToUnix","value","string","Date","parse","KakaoUser","loginWithKakao","code","message","refreshToken","hasToken","Kakao","Auth","getAccessToken","id","expires_in","app_id","API","request","url","expiresIn","appId","issueAccessTokenWithCode","codeVerifier","redirectUri","web","length","isInitialized","token","issueAccessTokenWithCodeWeb","clientSecret","accessToken","tokenType","idToken","Number","isFinite","refreshTokenExpiresIn","scope","issuedAt","Math","floor","now","setAccessTokenWeb","accessTokenExpiresIn","accessTokenExpiresAt","refreshTokenExpiresAt","scopes","split","filter","Boolean","res","method","body","grant_type","client_id","restApiKey","redirect_uri","code_verifier","client_secret","then","r","setAccessToken","login","params","loginHint","nonce","prompt","state","throughTalk","serviceTerms","channelPublicIds","authorize","channelPublicId","join","undefined","prompts","map","toLowerCase","useKakaoAccountLogin","signup","properties","data","logout","clearAccessToken","isLogined","e","isKakaoTalkLoginAvailable","unlink","response","revokeScopes","revokeScopesWithResult","result","tags","service_terms","term","tag","agreedAt","agreed_at","agreed","required","revocable","agreedBy","agreed_by","revokeServiceTerms","revoked_service_terms","shippingAddresses","addressId","fromUpdatedAt","pageSize","query","URLSearchParams","Object","entries","address_id","from_updated_at","page_size","key","String","headers","Authorization","userId","needsAgreement","shippingAddressesNeedsAgreement","address","updatedAt","selectShippingAddress","error","error_code","error_msg","updateProfile","me","propertyKeys","secureResource","property_keys","secure_resource","ret","kakaoAccount","profile","legalGender","hasSignedUp","uuid","forPartner","groupUserToken","isDefaultImage","isLeapMonth","legalName","legalNameNeedsAgreement","legalBirthDate","legalBirthDateNeedsAgreement","legalGenderNeedsAgreement","email","name","nickname","profileImageUrl","profileImage","thumbnailImageUrl","thumbnailImage","phoneNumber","isEmailValid","isEmailVerified","ageRange","birthday","birthdayType","birthyear","gender","isKorean","ageRangeNeedsAgreement","birthdayNeedsAgreement","birthyearNeedsAgreement","emailNeedsAgreement","genderNeedsAgreement","isKoreanNeedsAgreement","phoneNumberNeedsAgreement","profileNeedsAgreement","nameNeedsAgreement","profileImageNeedsAgreement","profileNicknameNeedsAgreement","connectedAt","synchedAt"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|