@react-native-kakao/user 1.6.3 → 2.0.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.
@@ -0,0 +1,171 @@
1
+ import { camelCaseObject, filterNonNullishKeys, is } from '@mj-studio/js-util';
2
+ import { kCreateWebError, kFetch, kFetchFormUrlEncoded, kGlobalStorage } from '@react-native-kakao/core';
3
+ import * as querystring from 'querystring';
4
+ function isoToUnix(value) {
5
+ if (!is.string(value)) {
6
+ return value;
7
+ }
8
+ return Date.parse(value) / 1000;
9
+ }
10
+ const KakaoUser = {
11
+ getAccessToken: async () => {
12
+ try {
13
+ const {
14
+ id,
15
+ expires_in,
16
+ app_id
17
+ } = (await kFetch('https://kapi.kakao.com/v1/user/access_token_info', {
18
+ headers: {
19
+ ...kGlobalStorage.headers
20
+ }
21
+ })).body;
22
+ return {
23
+ id,
24
+ expiresIn: expires_in,
25
+ appId: app_id
26
+ };
27
+ } catch (e) {
28
+ throw kCreateWebError(e);
29
+ }
30
+ },
31
+ issueAccessTokenWithCodeWeb: async ({
32
+ clientSecret,
33
+ code,
34
+ redirectUri
35
+ }) => {
36
+ try {
37
+ const res = await kFetchFormUrlEncoded('https://kauth.kakao.com/oauth/token', {
38
+ method: 'POST',
39
+ body: filterNonNullishKeys({
40
+ grant_type: 'authorization_code',
41
+ client_id: kGlobalStorage.restApiKey,
42
+ redirect_uri: encodeURIComponent(redirectUri),
43
+ code,
44
+ client_secret: clientSecret
45
+ })
46
+ }).then(r => r.body);
47
+ return camelCaseObject(res);
48
+ } catch (e) {
49
+ throw kCreateWebError(e);
50
+ }
51
+ },
52
+ setAccessTokenWeb: token => {
53
+ kGlobalStorage.accessToken = token;
54
+ return new Promise(r => {
55
+ Kakao.Auth.setAccessToken(token);
56
+ r(42);
57
+ });
58
+ },
59
+ login: async params => {
60
+ const {
61
+ loginHint,
62
+ nonce,
63
+ prompt,
64
+ redirectUri,
65
+ scope,
66
+ state,
67
+ throughTalk,
68
+ serviceTerms
69
+ } = (params === null || params === void 0 ? void 0 : params.web) ?? {};
70
+ return Kakao.Auth.authorize(filterNonNullishKeys({
71
+ loginHint,
72
+ nonce,
73
+ prompt: prompt === null || prompt === void 0 ? void 0 : prompt.join(','),
74
+ redirectUri,
75
+ scope: scope === null || scope === void 0 ? void 0 : scope.join(','),
76
+ serviceTerms: serviceTerms === null || serviceTerms === void 0 ? void 0 : serviceTerms.join(','),
77
+ state,
78
+ throughTalk
79
+ }));
80
+ },
81
+ logout: () => Kakao.Auth.logout().catch(kCreateWebError),
82
+ isLogined: async () => {
83
+ try {
84
+ const {
85
+ appId
86
+ } = await KakaoUser.getAccessToken();
87
+ return !!appId;
88
+ } catch (e) {
89
+ return false;
90
+ }
91
+ },
92
+ isKakaoTalkLoginAvailable: async () => false,
93
+ unlink: () => Kakao.API.request({
94
+ url: '/v1/user/unlink'
95
+ }).catch(kCreateWebError),
96
+ scopes: async scopes => {
97
+ try {
98
+ const response = await Kakao.API.request({
99
+ url: `/v2/user/scopes${scopes ? '?' + querystring.stringify({
100
+ scopes
101
+ }) : ''}`
102
+ });
103
+ return camelCaseObject(response.scopes);
104
+ } catch (e) {
105
+ throw kCreateWebError(e);
106
+ }
107
+ },
108
+ revokeScopes: async scopes => {
109
+ try {
110
+ await Kakao.API.request({
111
+ url: '/v2/user/revoke/scopes',
112
+ data: {
113
+ scopes
114
+ }
115
+ });
116
+ } catch (e) {
117
+ throw kCreateWebError(e);
118
+ }
119
+ },
120
+ serviceTerms: async () => {
121
+ try {
122
+ return camelCaseObject((await Kakao.API.request({
123
+ url: '/v2/user/service_terms'
124
+ })).service_terms.map(v => ({
125
+ ...v,
126
+ agreed_at: v.agreed_at ? isoToUnix(v.agreed_at) : null
127
+ })));
128
+ } catch (e) {
129
+ throw kCreateWebError(e);
130
+ }
131
+ },
132
+ shippingAddresses: async () => {
133
+ try {
134
+ return camelCaseObject(await Kakao.API.request({
135
+ url: '/v1/user/shipping_address'
136
+ }));
137
+ } catch (e) {
138
+ throw kCreateWebError(e);
139
+ }
140
+ },
141
+ me: async () => {
142
+ try {
143
+ const ret = camelCaseObject(await Kakao.API.request({
144
+ url: '/v2/user/me'
145
+ }));
146
+ return {
147
+ ...ret,
148
+ connectedAt: isoToUnix(ret.connectedAt),
149
+ synchedAt: isoToUnix(ret.synchedAt)
150
+ };
151
+ } catch (e) {
152
+ throw kCreateWebError(e);
153
+ }
154
+ }
155
+ };
156
+ export const {
157
+ isKakaoTalkLoginAvailable,
158
+ isLogined,
159
+ login,
160
+ logout,
161
+ me,
162
+ revokeScopes,
163
+ scopes,
164
+ serviceTerms,
165
+ shippingAddresses,
166
+ unlink,
167
+ setAccessTokenWeb,
168
+ issueAccessTokenWithCodeWeb,
169
+ getAccessToken
170
+ } = KakaoUser;
171
+ //# sourceMappingURL=index.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["camelCaseObject","filterNonNullishKeys","is","kCreateWebError","kFetch","kFetchFormUrlEncoded","kGlobalStorage","querystring","isoToUnix","value","string","Date","parse","KakaoUser","getAccessToken","id","expires_in","app_id","headers","body","expiresIn","appId","e","issueAccessTokenWithCodeWeb","clientSecret","code","redirectUri","res","method","grant_type","client_id","restApiKey","redirect_uri","encodeURIComponent","client_secret","then","r","setAccessTokenWeb","token","accessToken","Promise","Kakao","Auth","setAccessToken","login","params","loginHint","nonce","prompt","scope","state","throughTalk","serviceTerms","web","authorize","join","logout","catch","isLogined","isKakaoTalkLoginAvailable","unlink","API","request","url","scopes","response","stringify","revokeScopes","data","service_terms","map","v","agreed_at","shippingAddresses","me","ret","connectedAt","synchedAt"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoUser.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AA4BlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoUser.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AA8BlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- export type KakaoLoginToken = {
1
+ export interface KakaoLoginToken {
2
2
  accessToken: string;
3
3
  refreshToken: string;
4
4
  tokenType?: string;
@@ -8,8 +8,8 @@ export type KakaoLoginToken = {
8
8
  accessTokenExpiresIn: number;
9
9
  refreshTokenExpiresIn: number;
10
10
  scopes: string[];
11
- };
12
- export type KakaoScopeInfo = {
11
+ }
12
+ export interface KakaoScopeInfo {
13
13
  id: string;
14
14
  agreed: boolean;
15
15
  displayName: string;
@@ -17,25 +17,25 @@ export type KakaoScopeInfo = {
17
17
  using: boolean;
18
18
  delegated?: boolean;
19
19
  type: string;
20
- };
21
- export type KakaoServiceTerms = {
20
+ }
21
+ export interface KakaoServiceTerms {
22
22
  tag: string;
23
23
  agreedAt?: number;
24
24
  agreed: boolean;
25
25
  required: boolean;
26
26
  revocable: boolean;
27
- };
28
- export type KakaoAppServiceTerms = {
27
+ }
28
+ export interface KakaoAppServiceTerms {
29
29
  tag: string;
30
30
  createdAt: number;
31
31
  updatedAt: number;
32
- };
33
- export type KakaoShippingAddressResult = {
32
+ }
33
+ export interface KakaoShippingAddressResult {
34
34
  userId?: number;
35
35
  needsAgreement?: boolean;
36
36
  shippingAddresses: KakaoShippingAddress[];
37
- };
38
- export type KakaoShippingAddress = {
37
+ }
38
+ export interface KakaoShippingAddress {
39
39
  id: number;
40
40
  name?: string;
41
41
  isDefault: boolean;
@@ -48,8 +48,8 @@ export type KakaoShippingAddress = {
48
48
  receiverPhoneNumber2?: string;
49
49
  zoneNumber?: string;
50
50
  zipCode?: string;
51
- };
52
- export type KakaoUser = {
51
+ }
52
+ export interface KakaoUser {
53
53
  id: number;
54
54
  email: string;
55
55
  name: string;
@@ -78,12 +78,29 @@ export type KakaoUser = {
78
78
  profileImageNeedsAgreement?: boolean;
79
79
  profileNicknameNeedsAgreement?: boolean;
80
80
  legalBirthDateNeedsAgreement?: boolean;
81
- };
81
+ connectedAt?: number;
82
+ synchedAt?: number;
83
+ }
84
+ export interface KakaoAccessTokenInfo {
85
+ id?: number;
86
+ appId: number;
87
+ expiresIn: number;
88
+ }
82
89
  export declare function login({ serviceTerms, prompts, useKakaoAccountLogin, scopes, }?: {
83
90
  serviceTerms?: string[];
84
91
  prompts?: ('Loign' | 'Create' | 'Cert' | 'UnifyDaum' | 'SelectAccount')[];
85
92
  scopes?: string[];
86
93
  useKakaoAccountLogin?: boolean;
94
+ web?: {
95
+ redirectUri: string;
96
+ scope?: string[];
97
+ throughTalk?: boolean;
98
+ prompt?: ('login' | 'none' | 'create' | 'select_account')[];
99
+ loginHint?: string;
100
+ serviceTerms?: string[];
101
+ state?: string;
102
+ nonce?: string;
103
+ };
87
104
  }): Promise<KakaoLoginToken>;
88
105
  export declare function logout(): Promise<void>;
89
106
  export declare function unlink(): Promise<void>;
@@ -94,4 +111,36 @@ export declare function revokeScopes(scopes: string[]): Promise<void>;
94
111
  export declare function serviceTerms(): Promise<KakaoServiceTerms[]>;
95
112
  export declare function shippingAddresses(): Promise<KakaoShippingAddressResult>;
96
113
  export declare function me(): Promise<KakaoUser>;
114
+ export declare function getAccessToken(): Promise<KakaoAccessTokenInfo>;
115
+ export declare function setAccessTokenWeb(token: string): void;
116
+ export declare function issueAccessTokenWithCodeWeb(params: {
117
+ redirectUri: string;
118
+ clientSecret?: string;
119
+ code: string;
120
+ }): Promise<{
121
+ tokenType: string;
122
+ accessToken: string;
123
+ idToken?: string;
124
+ expiresIn: number;
125
+ refreshToken: string;
126
+ refreshTokenExpiresIn: number;
127
+ scope?: string;
128
+ }>;
129
+ declare const KakaoUser: {
130
+ login: typeof login;
131
+ logout: typeof logout;
132
+ unlink: typeof unlink;
133
+ isLogined: typeof isLogined;
134
+ isKakaoTalkLoginAvailable: typeof isKakaoTalkLoginAvailable;
135
+ scopes: typeof scopes;
136
+ revokeScopes: typeof revokeScopes;
137
+ serviceTerms: typeof serviceTerms;
138
+ shippingAddresses: typeof shippingAddresses;
139
+ me: typeof me;
140
+ getAccessToken: typeof getAccessToken;
141
+ setAccessTokenWeb: typeof setAccessTokenWeb;
142
+ issueAccessTokenWithCodeWeb: typeof issueAccessTokenWithCodeWeb;
143
+ };
144
+ export default KakaoUser;
145
+ export type KakaoUserAPI = typeof KakaoUser;
97
146
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type KakaoUser, type KakaoUserAPI } from './index';
2
+ declare const KakaoUser: KakaoUserAPI;
3
+ export declare const isKakaoTalkLoginAvailable: typeof import("./index").isKakaoTalkLoginAvailable, isLogined: typeof import("./index").isLogined, login: typeof import("./index").login, logout: typeof import("./index").logout, me: typeof import("./index").me, revokeScopes: typeof import("./index").revokeScopes, scopes: typeof import("./index").scopes, serviceTerms: typeof import("./index").serviceTerms, shippingAddresses: typeof import("./index").shippingAddresses, unlink: typeof import("./index").unlink, setAccessTokenWeb: typeof import("./index").setAccessTokenWeb, issueAccessTokenWithCodeWeb: typeof import("./index").issueAccessTokenWithCodeWeb, getAccessToken: typeof import("./index").getAccessToken;
4
+ export default KakaoUser;
5
+ //# sourceMappingURL=index.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"AASA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AAmBjB,QAAA,MAAM,SAAS,EAAE,YAsJhB,CAAC;AAEF,eAAO,MACL,yBAAyB,sDACzB,SAAS,sCACT,KAAK,kCACL,MAAM,mCACN,EAAE,+BACF,YAAY,yCACZ,MAAM,mCACN,YAAY,yCACZ,iBAAiB,8CACjB,MAAM,mCACN,iBAAiB,8CACjB,2BAA2B,wDAC3B,cAAc,yCACH,CAAC;AAEd,eAAe,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { TurboModule } from 'react-native';
2
- import type { KakaoLoginToken, KakaoScopeInfo, KakaoServiceTerms, KakaoShippingAddressResult, KakaoUser } from '..';
2
+ import type { KakaoAccessTokenInfo, KakaoLoginToken, KakaoScopeInfo, KakaoServiceTerms, KakaoShippingAddressResult, KakaoUser } from '..';
3
3
  export interface Spec extends TurboModule {
4
4
  isKakaoTalkLoginAvailable(): Promise<boolean>;
5
5
  login(serviceTerms: string[], prompts: string[], useKakaoAccountLogin: boolean, scopes?: string[]): Promise<KakaoLoginToken>;
@@ -11,6 +11,7 @@ export interface Spec extends TurboModule {
11
11
  serviceTerms(): Promise<KakaoServiceTerms[]>;
12
12
  shippingAddresses(): Promise<KakaoShippingAddressResult>;
13
13
  me(): Promise<KakaoUser>;
14
+ getAccessToken(): Promise<KakaoAccessTokenInfo>;
14
15
  }
15
16
  declare const _default: Spec;
16
17
  export default _default;
@@ -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,eAAe,EACf,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,GAChB,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,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,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC7C,iBAAiB,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzD,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;CAC1B;;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;AAGhD,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,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,GAChB,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,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,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC7C,iBAAiB,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzD,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,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": "1.6.3",
4
+ "version": "2.0.0",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
7
7
  "types": "lib/typescript/src/index.d.ts",
@@ -62,7 +62,7 @@
62
62
  "access": "public"
63
63
  },
64
64
  "devDependencies": {
65
- "@react-native-kakao/core": "1.6.3",
65
+ "@react-native-kakao/core": "2.0.0",
66
66
  "@types/invariant": "^2",
67
67
  "@types/jest": "^29.5.5",
68
68
  "@types/react": "^18.2.44",
@@ -74,7 +74,7 @@
74
74
  "typescript": "5.1.6"
75
75
  },
76
76
  "peerDependencies": {
77
- "@react-native-kakao/core": "1.6.3",
77
+ "@react-native-kakao/core": "2.0.0",
78
78
  "react": "*",
79
79
  "react-native": "*"
80
80
  },
@@ -110,8 +110,8 @@
110
110
  "javaPackageName": "net.mjstudio.rnkakao.user"
111
111
  }
112
112
  },
113
- "gitHead": "029e997fe687bb4fde323d468075464d8e7e63d5",
113
+ "gitHead": "afd06e1ab70d1cf13f922fd40757856e33a6df99",
114
114
  "dependencies": {
115
- "@mj-studio/js-util": "^1.0.34"
115
+ "@mj-studio/js-util": "1.0.35"
116
116
  }
117
117
  }
@@ -10,7 +10,6 @@ const LINKING_ERROR =
10
10
  '- You rebuilt the app after installing the package\n' +
11
11
  '- You are not using Expo Go\n';
12
12
 
13
- // @ts-expect-error
14
13
  const isTurboModuleEnabled = global.__turboModuleProxy != null;
15
14
 
16
15
  const Module = isTurboModuleEnabled
@@ -28,7 +27,7 @@ const Native: Spec = Module
28
27
  },
29
28
  );
30
29
 
31
- export type KakaoLoginToken = {
30
+ export interface KakaoLoginToken {
32
31
  accessToken: string;
33
32
  refreshToken: string;
34
33
  tokenType?: string;
@@ -38,8 +37,8 @@ export type KakaoLoginToken = {
38
37
  accessTokenExpiresIn: number;
39
38
  refreshTokenExpiresIn: number;
40
39
  scopes: string[];
41
- };
42
- export type KakaoScopeInfo = {
40
+ }
41
+ export interface KakaoScopeInfo {
43
42
  id: string;
44
43
  agreed: boolean;
45
44
  displayName: string;
@@ -47,25 +46,25 @@ export type KakaoScopeInfo = {
47
46
  using: boolean;
48
47
  delegated?: boolean;
49
48
  type: string;
50
- };
51
- export type KakaoServiceTerms = {
49
+ }
50
+ export interface KakaoServiceTerms {
52
51
  tag: string;
53
52
  agreedAt?: number;
54
53
  agreed: boolean;
55
54
  required: boolean;
56
55
  revocable: boolean;
57
- };
58
- export type KakaoAppServiceTerms = {
56
+ }
57
+ export interface KakaoAppServiceTerms {
59
58
  tag: string;
60
59
  createdAt: number;
61
60
  updatedAt: number;
62
- };
63
- export type KakaoShippingAddressResult = {
61
+ }
62
+ export interface KakaoShippingAddressResult {
64
63
  userId?: number;
65
64
  needsAgreement?: boolean;
66
65
  shippingAddresses: KakaoShippingAddress[];
67
- };
68
- export type KakaoShippingAddress = {
66
+ }
67
+ export interface KakaoShippingAddress {
69
68
  id: number;
70
69
  name?: string;
71
70
  isDefault: boolean;
@@ -78,8 +77,8 @@ export type KakaoShippingAddress = {
78
77
  receiverPhoneNumber2?: string;
79
78
  zoneNumber?: string;
80
79
  zipCode?: string;
81
- };
82
- export type KakaoUser = {
80
+ }
81
+ export interface KakaoUser {
83
82
  id: number;
84
83
  email: string;
85
84
  name: string;
@@ -108,7 +107,14 @@ export type KakaoUser = {
108
107
  profileImageNeedsAgreement?: boolean;
109
108
  profileNicknameNeedsAgreement?: boolean;
110
109
  legalBirthDateNeedsAgreement?: boolean;
111
- };
110
+ connectedAt?: number;
111
+ synchedAt?: number;
112
+ }
113
+ export interface KakaoAccessTokenInfo {
114
+ id?: number;
115
+ appId: number;
116
+ expiresIn: number;
117
+ }
112
118
  export function login({
113
119
  serviceTerms,
114
120
  prompts,
@@ -119,6 +125,16 @@ export function login({
119
125
  prompts?: ('Loign' | 'Create' | 'Cert' | 'UnifyDaum' | 'SelectAccount')[];
120
126
  scopes?: string[];
121
127
  useKakaoAccountLogin?: boolean;
128
+ web?: {
129
+ redirectUri: string;
130
+ scope?: string[];
131
+ throughTalk?: boolean;
132
+ prompt?: ('login' | 'none' | 'create' | 'select_account')[];
133
+ loginHint?: string;
134
+ serviceTerms?: string[];
135
+ state?: string;
136
+ nonce?: string;
137
+ };
122
138
  } = {}): Promise<KakaoLoginToken> {
123
139
  kAssert(
124
140
  !useKakaoAccountLogin ? !is.notEmptyArray(prompts) && !is.notEmptyArray(scopes) : true,
@@ -173,3 +189,44 @@ export function shippingAddresses(): Promise<KakaoShippingAddressResult> {
173
189
  export function me(): Promise<KakaoUser> {
174
190
  return Native.me();
175
191
  }
192
+
193
+ export function getAccessToken(): Promise<KakaoAccessTokenInfo> {
194
+ return Native.getAccessToken();
195
+ }
196
+
197
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
198
+ export function setAccessTokenWeb(token: string) {}
199
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
200
+ export async function issueAccessTokenWithCodeWeb(params: {
201
+ redirectUri: string;
202
+ clientSecret?: string;
203
+ code: string;
204
+ }): Promise<{
205
+ tokenType: string;
206
+ accessToken: string;
207
+ idToken?: string;
208
+ expiresIn: number;
209
+ refreshToken: string;
210
+ refreshTokenExpiresIn: number;
211
+ scope?: string;
212
+ }> {
213
+ return {} as any;
214
+ }
215
+
216
+ const KakaoUser = {
217
+ login,
218
+ logout,
219
+ unlink,
220
+ isLogined,
221
+ isKakaoTalkLoginAvailable,
222
+ scopes,
223
+ revokeScopes,
224
+ serviceTerms,
225
+ shippingAddresses,
226
+ me,
227
+ getAccessToken,
228
+ setAccessTokenWeb,
229
+ issueAccessTokenWithCodeWeb,
230
+ };
231
+ export default KakaoUser;
232
+ export type KakaoUserAPI = typeof KakaoUser;