@react-native-kakao/user 1.7.0 → 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.
@@ -12,7 +12,6 @@ import com.kakao.sdk.auth.model.Prompt.CREATE
12
12
  import com.kakao.sdk.auth.model.Prompt.LOGIN
13
13
  import com.kakao.sdk.auth.model.Prompt.SELECT_ACCOUNT
14
14
  import com.kakao.sdk.auth.model.Prompt.UNIFY_DAUM
15
- import com.kakao.sdk.common.model.KakaoSdkError
16
15
  import com.kakao.sdk.user.UserApiClient
17
16
  import net.mjstudio.rnkakao.core.util.RNCKakaoResponseNotFoundException
18
17
  import net.mjstudio.rnkakao.core.util.RNCKakaoUtil
@@ -24,6 +23,8 @@ import net.mjstudio.rnkakao.core.util.pushMapList
24
23
  import net.mjstudio.rnkakao.core.util.pushStringList
25
24
  import net.mjstudio.rnkakao.core.util.putB
26
25
  import net.mjstudio.rnkakao.core.util.putD
26
+ import net.mjstudio.rnkakao.core.util.putI
27
+ import net.mjstudio.rnkakao.core.util.putL
27
28
  import net.mjstudio.rnkakao.core.util.rejectWith
28
29
  import net.mjstudio.rnkakao.core.util.unix
29
30
  import java.util.Date
@@ -156,11 +157,7 @@ class RNCKakaoUserModule internal constructor(context: ReactApplicationContext)
156
157
  if (AuthApiClient.instance.hasToken()) {
157
158
  UserApiClient.instance.accessTokenInfo { _, error ->
158
159
  if (error != null) {
159
- if (error is KakaoSdkError && error.isInvalidTokenError()) {
160
- promise.resolve(false)
161
- } else {
162
- promise.rejectWith(error)
163
- }
160
+ promise.rejectWith(error)
164
161
  } else {
165
162
  promise.resolve(true)
166
163
  }
@@ -373,6 +370,26 @@ class RNCKakaoUserModule internal constructor(context: ReactApplicationContext)
373
370
  }
374
371
  }
375
372
 
373
+ @ReactMethod
374
+ override fun getAccessToken(promise: Promise) =
375
+ onMain {
376
+ UserApiClient.instance.accessTokenInfo { accessTokenInfo, error ->
377
+ if (error != null) {
378
+ promise.rejectWith(error)
379
+ } else if (accessTokenInfo == null) {
380
+ promise.rejectWith(RNCKakaoResponseNotFoundException("accessTokenInfo"))
381
+ } else {
382
+ promise.resolve(
383
+ argMap().apply {
384
+ putL("id", accessTokenInfo.id)
385
+ putL("expiresIn", accessTokenInfo.expiresIn)
386
+ putI("appID", accessTokenInfo.appId)
387
+ },
388
+ )
389
+ }
390
+ }
391
+ }
392
+
376
393
  companion object {
377
394
  const val NAME = "RNCKakaoUser"
378
395
  }
@@ -38,4 +38,6 @@ abstract class KakaoUserSpec internal constructor(context: ReactApplicationConte
38
38
  abstract fun shippingAddresses(promise: Promise)
39
39
 
40
40
  abstract fun me(promise: Promise)
41
+
42
+ abstract fun getAccessToken(promise: Promise)
41
43
  }
@@ -73,6 +73,12 @@ RCT_EXPORT_METHOD(me : (RCTPromiseResolveBlock)resolve reject : (RCTPromiseRejec
73
73
  [[self manager] me:resolve reject:reject];
74
74
  }
75
75
 
76
+ RCT_EXPORT_METHOD(getAccessToken
77
+ : (RCTPromiseResolveBlock)resolve reject
78
+ : (RCTPromiseRejectBlock)reject) {
79
+ [[self manager] getAccessToken:resolve reject:reject];
80
+ }
81
+
76
82
  // Don't compile this code when we build for the old architecture.
77
83
  #ifdef RCT_NEW_ARCH_ENABLED
78
84
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
@@ -291,6 +291,27 @@ import RNCKakaoCore
291
291
  }
292
292
  }
293
293
 
294
+ @objc public func getAccessToken(
295
+ _ resolve: @escaping RCTPromiseResolveBlock,
296
+ reject: @escaping RCTPromiseRejectBlock
297
+ ) {
298
+ onMain {
299
+ UserApi.shared.accessTokenInfo { accessTokenInfo, error in
300
+ if let error {
301
+ RNCKakaoUtil.reject(reject, error)
302
+ } else if let accessTokenInfo {
303
+ resolve([
304
+ "id": accessTokenInfo.id as Any,
305
+ "appId": accessTokenInfo.appId,
306
+ "expiresIn": accessTokenInfo.expiresIn
307
+ ])
308
+ } else {
309
+ RNCKakaoUtil.reject(reject, RNCKakaoError.responseNotFound(name: "accessTokenInfo"))
310
+ }
311
+ }
312
+ }
313
+ }
314
+
294
315
  private func emptyArrayToNil<T>(_ arr: [T]?) -> [T]? {
295
316
  if arr == nil || arr?.isEmpty == true { return nil }
296
317
  return arr
@@ -3,14 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.default = void 0;
7
+ exports.getAccessToken = getAccessToken;
6
8
  exports.isKakaoTalkLoginAvailable = isKakaoTalkLoginAvailable;
7
9
  exports.isLogined = isLogined;
10
+ exports.issueAccessTokenWithCodeWeb = issueAccessTokenWithCodeWeb;
8
11
  exports.login = login;
9
12
  exports.logout = logout;
10
13
  exports.me = me;
11
14
  exports.revokeScopes = revokeScopes;
12
15
  exports.scopes = scopes;
13
16
  exports.serviceTerms = serviceTerms;
17
+ exports.setAccessTokenWeb = setAccessTokenWeb;
14
18
  exports.shippingAddresses = shippingAddresses;
15
19
  exports.unlink = unlink;
16
20
  var _reactNative = require("react-native");
@@ -20,8 +24,6 @@ const LINKING_ERROR = "The package '@react-native-kakao/user' doesn't seem to be
20
24
  ios: "- You have run 'pod install'\n",
21
25
  default: ''
22
26
  }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
23
-
24
- // @ts-expect-error
25
27
  const isTurboModuleEnabled = global.__turboModuleProxy != null;
26
28
  const Module = isTurboModuleEnabled ? require('./spec/NativeKakaoUser').default : _reactNative.NativeModules.RNCKakaoUser;
27
29
  const Native = Module ? Module : new Proxy({}, {
@@ -66,4 +68,30 @@ function shippingAddresses() {
66
68
  function me() {
67
69
  return Native.me();
68
70
  }
71
+ function getAccessToken() {
72
+ return Native.getAccessToken();
73
+ }
74
+
75
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
76
+ function setAccessTokenWeb(token) {}
77
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
78
+ async function issueAccessTokenWithCodeWeb(params) {
79
+ return {};
80
+ }
81
+ const KakaoUser = {
82
+ login,
83
+ logout,
84
+ unlink,
85
+ isLogined,
86
+ isKakaoTalkLoginAvailable,
87
+ scopes,
88
+ revokeScopes,
89
+ serviceTerms,
90
+ shippingAddresses,
91
+ me,
92
+ getAccessToken,
93
+ setAccessTokenWeb,
94
+ issueAccessTokenWithCodeWeb
95
+ };
96
+ var _default = exports.default = KakaoUser;
69
97
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_jsUtil","_core","LINKING_ERROR","Platform","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","NativeModules","RNCKakaoUser","Native","Proxy","get","Error","login","serviceTerms","prompts","useKakaoAccountLogin","scopes","kAssert","is","notEmptyArray","logout","unlink","isLogined","isKakaoTalkLoginAvailable","revokeScopes","shippingAddresses","me"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAIA,MAAMG,aAAa,GACjB,mFAAmF,GACnFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI;AAE9D,MAAMC,MAAM,GAAGH,oBAAoB,GAC/BR,OAAO,CAAC,wBAAwB,CAAC,CAACO,OAAO,GACzCK,0BAAa,CAACC,YAAY;AAE9B,MAAMC,MAAY,GAAGH,MAAM,GACvBA,MAAM,GACN,IAAII,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACd,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAmFE,SAASe,KAAKA,CAAC;EACpBC,YAAY;EACZC,OAAO;EACPC,oBAAoB;EACpBC;AAMF,CAAC,GAAG,CAAC,CAAC,EAA4B;EAChC,IAAAC,aAAO,EACL,CAACF,oBAAoB,GAAG,CAACG,UAAE,CAACC,aAAa,CAACL,OAAO,CAAC,IAAI,CAACI,UAAE,CAACC,aAAa,CAACH,MAAM,CAAC,GAAG,IAAI,EACtF,mFACF,CAAC;EAED,IAAAC,aAAO,EACLC,UAAE,CAACC,aAAa,CAACH,MAAM,CAAC,GAAG,CAACE,UAAE,CAACC,aAAa,CAACL,OAAO,CAAC,IAAI,CAACI,UAAE,CAACC,aAAa,CAACN,YAAY,CAAC,GAAG,IAAI,EAC/F,oEACF,CAAC;EAED,OAAOL,MAAM,CAACI,KAAK,CACjBC,YAAY,IAAI,EAAE,EAClBC,OAAO,IAAI,EAAE,EACbC,oBAAoB,IAAI,KAAK,EAC7BC,MAAM,IAAI,EACZ,CAAC;AACH;AAEO,SAASI,MAAMA,CAAA,EAAG;EACvB,OAAOZ,MAAM,CAACY,MAAM,CAAC,CAAC;AACxB;AAEO,SAASC,MAAMA,CAAA,EAAG;EACvB,OAAOb,MAAM,CAACa,MAAM,CAAC,CAAC;AACxB;AAEO,SAASC,SAASA,CAAA,EAAG;EAC1B,OAAOd,MAAM,CAACc,SAAS,CAAC,CAAC;AAC3B;AAEO,SAASC,yBAAyBA,CAAA,EAAqB;EAC5D,OAAOf,MAAM,CAACe,yBAAyB,CAAC,CAAC;AAC3C;AAEO,SAASP,MAAMA,CAACA,MAAiB,EAA6B;EACnE,OAAOR,MAAM,CAACQ,MAAM,CAACA,MAAM,CAAC;AAC9B;AAEO,SAASQ,YAAYA,CAACR,MAAgB,EAAiB;EAC5D,OAAOR,MAAM,CAACgB,YAAY,CAACR,MAAM,CAAC;AACpC;AAEO,SAASH,YAAYA,CAAA,EAAiC;EAC3D,OAAOL,MAAM,CAACK,YAAY,CAAC,CAAC;AAC9B;AAEO,SAASY,iBAAiBA,CAAA,EAAwC;EACvE,OAAOjB,MAAM,CAACiB,iBAAiB,CAAC,CAAC;AACnC;AAEO,SAASC,EAAEA,CAAA,EAAuB;EACvC,OAAOlB,MAAM,CAACkB,EAAE,CAAC,CAAC;AACpB","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_jsUtil","_core","LINKING_ERROR","Platform","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","NativeModules","RNCKakaoUser","Native","Proxy","get","Error","login","serviceTerms","prompts","useKakaoAccountLogin","scopes","kAssert","is","notEmptyArray","logout","unlink","isLogined","isKakaoTalkLoginAvailable","revokeScopes","shippingAddresses","me","getAccessToken","setAccessTokenWeb","token","issueAccessTokenWithCodeWeb","params","KakaoUser","_default","exports"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.unlink = exports.shippingAddresses = exports.setAccessTokenWeb = exports.serviceTerms = exports.scopes = exports.revokeScopes = exports.me = exports.logout = exports.login = exports.issueAccessTokenWithCodeWeb = exports.isLogined = exports.isKakaoTalkLoginAvailable = exports.getAccessToken = void 0;
7
+ var _jsUtil = require("@mj-studio/js-util");
8
+ var _core = require("@react-native-kakao/core");
9
+ var querystring = _interopRequireWildcard(require("querystring"));
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ function isoToUnix(value) {
13
+ if (!_jsUtil.is.string(value)) {
14
+ return value;
15
+ }
16
+ return Date.parse(value) / 1000;
17
+ }
18
+ const KakaoUser = {
19
+ getAccessToken: async () => {
20
+ try {
21
+ const {
22
+ id,
23
+ expires_in,
24
+ app_id
25
+ } = (await (0, _core.kFetch)('https://kapi.kakao.com/v1/user/access_token_info', {
26
+ headers: {
27
+ ..._core.kGlobalStorage.headers
28
+ }
29
+ })).body;
30
+ return {
31
+ id,
32
+ expiresIn: expires_in,
33
+ appId: app_id
34
+ };
35
+ } catch (e) {
36
+ throw (0, _core.kCreateWebError)(e);
37
+ }
38
+ },
39
+ issueAccessTokenWithCodeWeb: async ({
40
+ clientSecret,
41
+ code,
42
+ redirectUri
43
+ }) => {
44
+ try {
45
+ const res = await (0, _core.kFetchFormUrlEncoded)('https://kauth.kakao.com/oauth/token', {
46
+ method: 'POST',
47
+ body: (0, _jsUtil.filterNonNullishKeys)({
48
+ grant_type: 'authorization_code',
49
+ client_id: _core.kGlobalStorage.restApiKey,
50
+ redirect_uri: encodeURIComponent(redirectUri),
51
+ code,
52
+ client_secret: clientSecret
53
+ })
54
+ }).then(r => r.body);
55
+ return (0, _jsUtil.camelCaseObject)(res);
56
+ } catch (e) {
57
+ throw (0, _core.kCreateWebError)(e);
58
+ }
59
+ },
60
+ setAccessTokenWeb: token => {
61
+ _core.kGlobalStorage.accessToken = token;
62
+ return new Promise(r => {
63
+ Kakao.Auth.setAccessToken(token);
64
+ r(42);
65
+ });
66
+ },
67
+ login: async params => {
68
+ const {
69
+ loginHint,
70
+ nonce,
71
+ prompt,
72
+ redirectUri,
73
+ scope,
74
+ state,
75
+ throughTalk,
76
+ serviceTerms
77
+ } = (params === null || params === void 0 ? void 0 : params.web) ?? {};
78
+ return Kakao.Auth.authorize((0, _jsUtil.filterNonNullishKeys)({
79
+ loginHint,
80
+ nonce,
81
+ prompt: prompt === null || prompt === void 0 ? void 0 : prompt.join(','),
82
+ redirectUri,
83
+ scope: scope === null || scope === void 0 ? void 0 : scope.join(','),
84
+ serviceTerms: serviceTerms === null || serviceTerms === void 0 ? void 0 : serviceTerms.join(','),
85
+ state,
86
+ throughTalk
87
+ }));
88
+ },
89
+ logout: () => Kakao.Auth.logout().catch(_core.kCreateWebError),
90
+ isLogined: async () => {
91
+ try {
92
+ const {
93
+ appId
94
+ } = await KakaoUser.getAccessToken();
95
+ return !!appId;
96
+ } catch (e) {
97
+ return false;
98
+ }
99
+ },
100
+ isKakaoTalkLoginAvailable: async () => false,
101
+ unlink: () => Kakao.API.request({
102
+ url: '/v1/user/unlink'
103
+ }).catch(_core.kCreateWebError),
104
+ scopes: async scopes => {
105
+ try {
106
+ const response = await Kakao.API.request({
107
+ url: `/v2/user/scopes${scopes ? '?' + querystring.stringify({
108
+ scopes
109
+ }) : ''}`
110
+ });
111
+ return (0, _jsUtil.camelCaseObject)(response.scopes);
112
+ } catch (e) {
113
+ throw (0, _core.kCreateWebError)(e);
114
+ }
115
+ },
116
+ revokeScopes: async scopes => {
117
+ try {
118
+ await Kakao.API.request({
119
+ url: '/v2/user/revoke/scopes',
120
+ data: {
121
+ scopes
122
+ }
123
+ });
124
+ } catch (e) {
125
+ throw (0, _core.kCreateWebError)(e);
126
+ }
127
+ },
128
+ serviceTerms: async () => {
129
+ try {
130
+ return (0, _jsUtil.camelCaseObject)((await Kakao.API.request({
131
+ url: '/v2/user/service_terms'
132
+ })).service_terms.map(v => ({
133
+ ...v,
134
+ agreed_at: v.agreed_at ? isoToUnix(v.agreed_at) : null
135
+ })));
136
+ } catch (e) {
137
+ throw (0, _core.kCreateWebError)(e);
138
+ }
139
+ },
140
+ shippingAddresses: async () => {
141
+ try {
142
+ return (0, _jsUtil.camelCaseObject)(await Kakao.API.request({
143
+ url: '/v1/user/shipping_address'
144
+ }));
145
+ } catch (e) {
146
+ throw (0, _core.kCreateWebError)(e);
147
+ }
148
+ },
149
+ me: async () => {
150
+ try {
151
+ const ret = (0, _jsUtil.camelCaseObject)(await Kakao.API.request({
152
+ url: '/v2/user/me'
153
+ }));
154
+ return {
155
+ ...ret,
156
+ connectedAt: isoToUnix(ret.connectedAt),
157
+ synchedAt: isoToUnix(ret.synchedAt)
158
+ };
159
+ } catch (e) {
160
+ throw (0, _core.kCreateWebError)(e);
161
+ }
162
+ }
163
+ };
164
+ const {
165
+ isKakaoTalkLoginAvailable,
166
+ isLogined,
167
+ login,
168
+ logout,
169
+ me,
170
+ revokeScopes,
171
+ scopes,
172
+ serviceTerms,
173
+ shippingAddresses,
174
+ unlink,
175
+ setAccessTokenWeb,
176
+ issueAccessTokenWithCodeWeb,
177
+ getAccessToken
178
+ } = KakaoUser;
179
+ exports.getAccessToken = getAccessToken;
180
+ exports.issueAccessTokenWithCodeWeb = issueAccessTokenWithCodeWeb;
181
+ exports.setAccessTokenWeb = setAccessTokenWeb;
182
+ exports.unlink = unlink;
183
+ exports.shippingAddresses = shippingAddresses;
184
+ exports.serviceTerms = serviceTerms;
185
+ exports.scopes = scopes;
186
+ exports.revokeScopes = revokeScopes;
187
+ exports.me = me;
188
+ exports.logout = logout;
189
+ exports.login = login;
190
+ exports.isLogined = isLogined;
191
+ exports.isKakaoTalkLoginAvailable = isKakaoTalkLoginAvailable;
192
+ //# sourceMappingURL=index.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_jsUtil","require","_core","querystring","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","isoToUnix","value","is","string","Date","parse","KakaoUser","getAccessToken","id","expires_in","app_id","kFetch","headers","kGlobalStorage","body","expiresIn","appId","kCreateWebError","issueAccessTokenWithCodeWeb","clientSecret","code","redirectUri","res","kFetchFormUrlEncoded","method","filterNonNullishKeys","grant_type","client_id","restApiKey","redirect_uri","encodeURIComponent","client_secret","then","camelCaseObject","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","exports"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoUser.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GA4BpCC,gCAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoUser.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GA8BpCC,gCAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
@@ -5,8 +5,6 @@ const LINKING_ERROR = "The package '@react-native-kakao/user' doesn't seem to be
5
5
  ios: "- You have run 'pod install'\n",
6
6
  default: ''
7
7
  }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
8
-
9
- // @ts-expect-error
10
8
  const isTurboModuleEnabled = global.__turboModuleProxy != null;
11
9
  const Module = isTurboModuleEnabled ? require('./spec/NativeKakaoUser').default : NativeModules.RNCKakaoUser;
12
10
  const Native = Module ? Module : new Proxy({}, {
@@ -51,4 +49,30 @@ export function shippingAddresses() {
51
49
  export function me() {
52
50
  return Native.me();
53
51
  }
52
+ export function getAccessToken() {
53
+ return Native.getAccessToken();
54
+ }
55
+
56
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
57
+ export function setAccessTokenWeb(token) {}
58
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
59
+ export async function issueAccessTokenWithCodeWeb(params) {
60
+ return {};
61
+ }
62
+ const KakaoUser = {
63
+ login,
64
+ logout,
65
+ unlink,
66
+ isLogined,
67
+ isKakaoTalkLoginAvailable,
68
+ scopes,
69
+ revokeScopes,
70
+ serviceTerms,
71
+ shippingAddresses,
72
+ me,
73
+ getAccessToken,
74
+ setAccessTokenWeb,
75
+ issueAccessTokenWithCodeWeb
76
+ };
77
+ export default KakaoUser;
54
78
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","is","kAssert","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","require","RNCKakaoUser","Native","Proxy","get","Error","login","serviceTerms","prompts","useKakaoAccountLogin","scopes","notEmptyArray","logout","unlink","isLogined","isKakaoTalkLoginAvailable","revokeScopes","shippingAddresses","me"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,EAAE,QAAQ,oBAAoB;AACvC,SAASC,OAAO,QAAQ,0BAA0B;AAIlD,MAAMC,aAAa,GACjB,mFAAmF,GACnFH,QAAQ,CAACI,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI;AAE9D,MAAMC,MAAM,GAAGH,oBAAoB,GAC/BI,OAAO,CAAC,wBAAwB,CAAC,CAACL,OAAO,GACzCP,aAAa,CAACa,YAAY;AAE9B,MAAMC,MAAY,GAAGH,MAAM,GACvBA,MAAM,GACN,IAAII,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACb,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAmFL,OAAO,SAASc,KAAKA,CAAC;EACpBC,YAAY;EACZC,OAAO;EACPC,oBAAoB;EACpBC;AAMF,CAAC,GAAG,CAAC,CAAC,EAA4B;EAChCnB,OAAO,CACL,CAACkB,oBAAoB,GAAG,CAACnB,EAAE,CAACqB,aAAa,CAACH,OAAO,CAAC,IAAI,CAAClB,EAAE,CAACqB,aAAa,CAACD,MAAM,CAAC,GAAG,IAAI,EACtF,mFACF,CAAC;EAEDnB,OAAO,CACLD,EAAE,CAACqB,aAAa,CAACD,MAAM,CAAC,GAAG,CAACpB,EAAE,CAACqB,aAAa,CAACH,OAAO,CAAC,IAAI,CAAClB,EAAE,CAACqB,aAAa,CAACJ,YAAY,CAAC,GAAG,IAAI,EAC/F,oEACF,CAAC;EAED,OAAOL,MAAM,CAACI,KAAK,CACjBC,YAAY,IAAI,EAAE,EAClBC,OAAO,IAAI,EAAE,EACbC,oBAAoB,IAAI,KAAK,EAC7BC,MAAM,IAAI,EACZ,CAAC;AACH;AAEA,OAAO,SAASE,MAAMA,CAAA,EAAG;EACvB,OAAOV,MAAM,CAACU,MAAM,CAAC,CAAC;AACxB;AAEA,OAAO,SAASC,MAAMA,CAAA,EAAG;EACvB,OAAOX,MAAM,CAACW,MAAM,CAAC,CAAC;AACxB;AAEA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,OAAOZ,MAAM,CAACY,SAAS,CAAC,CAAC;AAC3B;AAEA,OAAO,SAASC,yBAAyBA,CAAA,EAAqB;EAC5D,OAAOb,MAAM,CAACa,yBAAyB,CAAC,CAAC;AAC3C;AAEA,OAAO,SAASL,MAAMA,CAACA,MAAiB,EAA6B;EACnE,OAAOR,MAAM,CAACQ,MAAM,CAACA,MAAM,CAAC;AAC9B;AAEA,OAAO,SAASM,YAAYA,CAACN,MAAgB,EAAiB;EAC5D,OAAOR,MAAM,CAACc,YAAY,CAACN,MAAM,CAAC;AACpC;AAEA,OAAO,SAASH,YAAYA,CAAA,EAAiC;EAC3D,OAAOL,MAAM,CAACK,YAAY,CAAC,CAAC;AAC9B;AAEA,OAAO,SAASU,iBAAiBA,CAAA,EAAwC;EACvE,OAAOf,MAAM,CAACe,iBAAiB,CAAC,CAAC;AACnC;AAEA,OAAO,SAASC,EAAEA,CAAA,EAAuB;EACvC,OAAOhB,MAAM,CAACgB,EAAE,CAAC,CAAC;AACpB","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","Platform","is","kAssert","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","require","RNCKakaoUser","Native","Proxy","get","Error","login","serviceTerms","prompts","useKakaoAccountLogin","scopes","notEmptyArray","logout","unlink","isLogined","isKakaoTalkLoginAvailable","revokeScopes","shippingAddresses","me","getAccessToken","setAccessTokenWeb","token","issueAccessTokenWithCodeWeb","params","KakaoUser"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -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.7.0",
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.7.0",
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.7.0",
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": "33e4f3376565424bbf342612c8dde134386d9e4a",
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;
@@ -0,0 +1,204 @@
1
+ import { camelCaseObject, filterNonNullishKeys, is } from '@mj-studio/js-util';
2
+ import {
3
+ kCreateWebError,
4
+ kFetch,
5
+ kFetchFormUrlEncoded,
6
+ kGlobalStorage,
7
+ } from '@react-native-kakao/core';
8
+ import * as querystring from 'querystring';
9
+
10
+ import {
11
+ type KakaoLoginToken,
12
+ type KakaoScopeInfo,
13
+ type KakaoServiceTerms,
14
+ type KakaoShippingAddressResult,
15
+ type KakaoUser,
16
+ type KakaoUserAPI,
17
+ } from './index';
18
+
19
+ declare const Kakao: {
20
+ Auth: {
21
+ authorize: Function;
22
+ logout: Function;
23
+ setAccessToken: Function;
24
+ };
25
+ API: { request: Function };
26
+ };
27
+
28
+ function isoToUnix(value?: string | number) {
29
+ if (!is.string(value)) {
30
+ return value;
31
+ }
32
+
33
+ return Date.parse(value) / 1000;
34
+ }
35
+
36
+ const KakaoUser: KakaoUserAPI = {
37
+ getAccessToken: async () => {
38
+ try {
39
+ const { id, expires_in, app_id } = (
40
+ await kFetch<{
41
+ id: number;
42
+ expires_in: number;
43
+ app_id: number;
44
+ }>('https://kapi.kakao.com/v1/user/access_token_info', {
45
+ headers: {
46
+ ...kGlobalStorage.headers,
47
+ },
48
+ })
49
+ ).body;
50
+
51
+ return {
52
+ id,
53
+ expiresIn: expires_in,
54
+ appId: app_id,
55
+ };
56
+ } catch (e: any) {
57
+ throw kCreateWebError(e);
58
+ }
59
+ },
60
+ issueAccessTokenWithCodeWeb: async ({ clientSecret, code, redirectUri }) => {
61
+ try {
62
+ const res = await kFetchFormUrlEncoded<{
63
+ token_type: string;
64
+ access_token: string;
65
+ id_token?: string;
66
+ expires_in: number;
67
+ refresh_token: string;
68
+ refresh_token_expires_in: number;
69
+ scope?: string;
70
+ }>('https://kauth.kakao.com/oauth/token', {
71
+ method: 'POST',
72
+ body: filterNonNullishKeys({
73
+ grant_type: 'authorization_code',
74
+ client_id: kGlobalStorage.restApiKey,
75
+ redirect_uri: encodeURIComponent(redirectUri),
76
+ code,
77
+ client_secret: clientSecret,
78
+ }),
79
+ }).then((r) => r.body);
80
+
81
+ return camelCaseObject(res) as any;
82
+ } catch (e: any) {
83
+ throw kCreateWebError(e);
84
+ }
85
+ },
86
+ setAccessTokenWeb: (token: string) => {
87
+ kGlobalStorage.accessToken = token;
88
+
89
+ return new Promise((r) => {
90
+ Kakao.Auth.setAccessToken(token);
91
+ r(42);
92
+ });
93
+ },
94
+ login: async (params): Promise<KakaoLoginToken> => {
95
+ const { loginHint, nonce, prompt, redirectUri, scope, state, throughTalk, serviceTerms } =
96
+ params?.web ?? {};
97
+
98
+ return Kakao.Auth.authorize(
99
+ filterNonNullishKeys({
100
+ loginHint,
101
+ nonce,
102
+ prompt: prompt?.join(','),
103
+ redirectUri,
104
+ scope: scope?.join(','),
105
+ serviceTerms: serviceTerms?.join(','),
106
+ state,
107
+ throughTalk,
108
+ }),
109
+ );
110
+ },
111
+ logout: () => Kakao.Auth.logout().catch(kCreateWebError),
112
+ isLogined: async (): Promise<boolean> => {
113
+ try {
114
+ const { appId } = await KakaoUser.getAccessToken();
115
+
116
+ return !!appId;
117
+ } catch (e) {
118
+ return false;
119
+ }
120
+ },
121
+ isKakaoTalkLoginAvailable: async (): Promise<boolean> => false,
122
+ unlink: (): Promise<void> => Kakao.API.request({ url: '/v1/user/unlink' }).catch(kCreateWebError),
123
+ scopes: async (scopes?: string[]): Promise<KakaoScopeInfo[]> => {
124
+ try {
125
+ const response = await Kakao.API.request({
126
+ url: `/v2/user/scopes${scopes ? '?' + querystring.stringify({ scopes }) : ''}`,
127
+ });
128
+
129
+ return camelCaseObject(response.scopes) as KakaoScopeInfo[];
130
+ } catch (e: any) {
131
+ throw kCreateWebError(e);
132
+ }
133
+ },
134
+ revokeScopes: async (scopes: string[]): Promise<void> => {
135
+ try {
136
+ await Kakao.API.request({
137
+ url: '/v2/user/revoke/scopes',
138
+ data: {
139
+ scopes,
140
+ },
141
+ });
142
+ } catch (e: any) {
143
+ throw kCreateWebError(e);
144
+ }
145
+ },
146
+ serviceTerms: async (): Promise<KakaoServiceTerms[]> => {
147
+ try {
148
+ return camelCaseObject(
149
+ (
150
+ await Kakao.API.request({
151
+ url: '/v2/user/service_terms',
152
+ })
153
+ ).service_terms.map((v) => ({
154
+ ...v,
155
+ agreed_at: v.agreed_at ? isoToUnix(v.agreed_at) : null,
156
+ })),
157
+ ) as KakaoServiceTerms[];
158
+ } catch (e: any) {
159
+ throw kCreateWebError(e);
160
+ }
161
+ },
162
+ shippingAddresses: async (): Promise<KakaoShippingAddressResult> => {
163
+ try {
164
+ return camelCaseObject(
165
+ await Kakao.API.request({
166
+ url: '/v1/user/shipping_address',
167
+ }),
168
+ ) as KakaoShippingAddressResult;
169
+ } catch (e: any) {
170
+ throw kCreateWebError(e);
171
+ }
172
+ },
173
+ me: async (): Promise<KakaoUser> => {
174
+ try {
175
+ const ret = camelCaseObject(await Kakao.API.request({ url: '/v2/user/me' })) as KakaoUser;
176
+
177
+ return {
178
+ ...ret,
179
+ connectedAt: isoToUnix(ret.connectedAt),
180
+ synchedAt: isoToUnix(ret.synchedAt),
181
+ };
182
+ } catch (e: any) {
183
+ throw kCreateWebError(e);
184
+ }
185
+ },
186
+ };
187
+
188
+ export const {
189
+ isKakaoTalkLoginAvailable,
190
+ isLogined,
191
+ login,
192
+ logout,
193
+ me,
194
+ revokeScopes,
195
+ scopes,
196
+ serviceTerms,
197
+ shippingAddresses,
198
+ unlink,
199
+ setAccessTokenWeb,
200
+ issueAccessTokenWithCodeWeb,
201
+ getAccessToken,
202
+ } = KakaoUser;
203
+
204
+ export default KakaoUser;
@@ -2,6 +2,7 @@ import type { TurboModule } from 'react-native';
2
2
  import { TurboModuleRegistry } from 'react-native';
3
3
 
4
4
  import type {
5
+ KakaoAccessTokenInfo,
5
6
  KakaoLoginToken,
6
7
  KakaoScopeInfo,
7
8
  KakaoServiceTerms,
@@ -25,6 +26,7 @@ export interface Spec extends TurboModule {
25
26
  serviceTerms(): Promise<KakaoServiceTerms[]>;
26
27
  shippingAddresses(): Promise<KakaoShippingAddressResult>;
27
28
  me(): Promise<KakaoUser>;
29
+ getAccessToken(): Promise<KakaoAccessTokenInfo>;
28
30
  }
29
31
 
30
32
  export default TurboModuleRegistry.getEnforcing<Spec>('RNCKakaoUser');