@react-native-kakao/user 2.4.10 → 2.4.11

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 CHANGED
@@ -1,5 +1,13 @@
1
1
  # Change Log
2
2
 
3
+ ## 2.4.11
4
+
5
+ ### Patch Changes
6
+
7
+ - de1cc13: Backport Android activity context fixes and align web API contracts with native; image scraping remains v3-only.
8
+ - Updated dependencies [de1cc13]
9
+ - @react-native-kakao/core@2.4.11
10
+
3
11
  ## 2.4.10
4
12
 
5
13
  ### Patch Changes
@@ -3,12 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
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;
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 = exports.default = void 0;
7
7
  var _jsUtil = require("@mj-studio/js-util");
8
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
9
  function isoToUnix(value) {
13
10
  if (!_jsUtil.is.string(value)) {
14
11
  return value;
@@ -21,11 +18,9 @@ const KakaoUser = {
21
18
  id,
22
19
  expires_in,
23
20
  app_id
24
- } = (await (0, _core.kFetch)('https://kapi.kakao.com/v1/user/access_token_info', {
25
- headers: {
26
- ..._core.kGlobalStorage.headers
27
- }
28
- })).body;
21
+ } = await Kakao.API.request({
22
+ url: '/v1/user/access_token_info'
23
+ });
29
24
  return {
30
25
  id,
31
26
  expiresIn: expires_in,
@@ -42,7 +37,7 @@ const KakaoUser = {
42
37
  body: (0, _jsUtil.filterNonNullishKeys)({
43
38
  grant_type: 'authorization_code',
44
39
  client_id: _core.kGlobalStorage.restApiKey,
45
- redirect_uri: encodeURIComponent(redirectUri),
40
+ redirect_uri: redirectUri,
46
41
  code,
47
42
  client_secret: clientSecret
48
43
  })
@@ -50,11 +45,8 @@ const KakaoUser = {
50
45
  return (0, _jsUtil.camelCaseObject)(res);
51
46
  }),
52
47
  setAccessTokenWeb: token => {
48
+ Kakao.Auth.setAccessToken(token);
53
49
  _core.kGlobalStorage.accessToken = token;
54
- return new Promise(r => {
55
- Kakao.Auth.setAccessToken(token);
56
- r(42);
57
- });
58
50
  },
59
51
  login: params => (0, _core.kRunWebAPI)(() => {
60
52
  const {
@@ -70,15 +62,21 @@ const KakaoUser = {
70
62
  return Kakao.Auth.authorize((0, _jsUtil.filterNonNullishKeys)({
71
63
  loginHint,
72
64
  nonce: params?.nonce ?? nonce,
73
- prompt: prompt?.join(','),
65
+ prompt: (prompt ?? params?.prompts?.map(value => value === 'SelectAccount' ? 'select_account' : value.toLowerCase()))?.join(','),
74
66
  redirectUri,
75
- scope: scope?.join(','),
76
- serviceTerms: serviceTerms?.join(','),
67
+ scope: (scope ?? params?.scopes)?.join(','),
68
+ serviceTerms: (serviceTerms ?? params?.serviceTerms)?.join(','),
77
69
  state,
78
- throughTalk
70
+ throughTalk: throughTalk ?? (params?.useKakaoAccountLogin ? false : undefined)
79
71
  }));
80
72
  }),
81
- logout: () => (0, _core.kRunWebAPI)(() => Kakao.Auth.logout()),
73
+ logout: () => (0, _core.kRunWebAPI)(async () => {
74
+ try {
75
+ await Kakao.Auth.logout();
76
+ } finally {
77
+ _core.kGlobalStorage.clearAccessToken();
78
+ }
79
+ }),
82
80
  isLogined: async () => {
83
81
  try {
84
82
  const {
@@ -90,50 +88,90 @@ const KakaoUser = {
90
88
  }
91
89
  },
92
90
  isKakaoTalkLoginAvailable: async () => false,
93
- unlink: () => (0, _core.kRunWebAPI)(() => Kakao.API.request({
94
- url: '/v1/user/unlink'
95
- })),
91
+ unlink: () => (0, _core.kRunWebAPI)(async () => {
92
+ await Kakao.API.request({
93
+ url: '/v1/user/unlink'
94
+ });
95
+ Kakao.Auth.setAccessToken(null);
96
+ _core.kGlobalStorage.clearAccessToken();
97
+ }),
96
98
  scopes: scopes => (0, _core.kRunWebAPI)(async () => {
97
99
  const response = await Kakao.API.request({
98
- url: `/v2/user/scopes${scopes ? '?' + querystring.stringify({
100
+ url: '/v2/user/scopes',
101
+ data: scopes?.length ? {
99
102
  scopes
100
- }) : ''}`
103
+ } : undefined
101
104
  });
102
105
  return (0, _jsUtil.camelCaseObject)(response.scopes);
103
106
  }),
104
- revokeScopes: scopes => (0, _core.kRunWebAPI)(() => Kakao.API.request({
105
- url: '/v2/user/revoke/scopes',
106
- data: {
107
- scopes
108
- }
109
- })),
110
- serviceTerms: () => (0, _core.kRunWebAPI)(async () => (0, _jsUtil.camelCaseObject)((await Kakao.API.request({
111
- url: '/v2/user/service_terms'
112
- })).service_terms.map(v => ({
113
- ...v,
114
- agreed_at: v.agreed_at ? isoToUnix(v.agreed_at) : null
115
- })))),
116
- shippingAddresses: () => (0, _core.kRunWebAPI)(async () => (0, _jsUtil.camelCaseObject)(await Kakao.API.request({
117
- url: '/v1/user/shipping_address'
118
- }))),
107
+ revokeScopes: scopes => (0, _core.kRunWebAPI)(async () => {
108
+ await Kakao.API.request({
109
+ url: '/v2/user/revoke/scopes',
110
+ data: {
111
+ scopes
112
+ }
113
+ });
114
+ }),
115
+ serviceTerms: () => (0, _core.kRunWebAPI)(async () => {
116
+ const response = await Kakao.API.request({
117
+ url: '/v2/user/service_terms'
118
+ });
119
+ return (response.service_terms ?? []).map(term => ({
120
+ tag: term.tag,
121
+ agreedAt: isoToUnix(term.agreed_at),
122
+ agreed: term.agreed,
123
+ required: term.required,
124
+ revocable: term.revocable
125
+ }));
126
+ }),
127
+ shippingAddresses: () => (0, _core.kRunWebAPI)(async () => {
128
+ const response = (0, _jsUtil.camelCaseObject)(await Kakao.API.request({
129
+ url: '/v1/user/shipping_address'
130
+ }));
131
+ return {
132
+ userId: response.userId,
133
+ needsAgreement: response.shippingAddressesNeedsAgreement,
134
+ shippingAddresses: (response.shippingAddresses ?? []).map(address => ({
135
+ ...address,
136
+ updatedAt: isoToUnix(address.updatedAt)
137
+ }))
138
+ };
139
+ }),
119
140
  me: () => (0, _core.kRunWebAPI)(async () => {
120
141
  const ret = (0, _jsUtil.camelCaseObject)(await Kakao.API.request({
121
142
  url: '/v2/user/me'
122
143
  }));
123
144
  const kakaoAccount = ret.kakaoAccount ?? {};
124
145
  const properties = ret.properties ?? {};
146
+ const profile = kakaoAccount.profile ?? {};
125
147
  return {
126
- ...ret,
127
- ...properties,
128
- ...kakaoAccount,
148
+ id: ret.id,
129
149
  email: kakaoAccount.email,
130
- name: null,
131
- nickname: kakaoAccount.profile.nickname,
132
- profileImageUrl: properties.profileImage,
133
- thumbnailImageUrl: properties.thumbnailImage,
134
- phoneNumber: kakaoAccount.profile.phoneNumber,
135
- isEmailValid: ret.isEmailValid,
136
- isEmailVerified: ret.isEmailVerified,
150
+ name: kakaoAccount.name,
151
+ nickname: profile.nickname ?? properties.nickname,
152
+ profileImageUrl: profile.profileImageUrl ?? properties.profileImage,
153
+ thumbnailImageUrl: profile.thumbnailImageUrl ?? properties.thumbnailImage,
154
+ phoneNumber: kakaoAccount.phoneNumber,
155
+ isEmailValid: kakaoAccount.isEmailValid,
156
+ isEmailVerified: kakaoAccount.isEmailVerified,
157
+ ageRange: kakaoAccount.ageRange,
158
+ birthday: kakaoAccount.birthday,
159
+ birthdayType: kakaoAccount.birthdayType,
160
+ birthyear: kakaoAccount.birthyear,
161
+ gender: kakaoAccount.gender,
162
+ isKorean: kakaoAccount.isKorean,
163
+ ageRangeNeedsAgreement: kakaoAccount.ageRangeNeedsAgreement,
164
+ birthdayNeedsAgreement: kakaoAccount.birthdayNeedsAgreement,
165
+ birthyearNeedsAgreement: kakaoAccount.birthyearNeedsAgreement,
166
+ emailNeedsAgreement: kakaoAccount.emailNeedsAgreement,
167
+ genderNeedsAgreement: kakaoAccount.genderNeedsAgreement,
168
+ isKoreanNeedsAgreement: kakaoAccount.isKoreanNeedsAgreement,
169
+ phoneNumberNeedsAgreement: kakaoAccount.phoneNumberNeedsAgreement,
170
+ profileNeedsAgreement: kakaoAccount.profileNeedsAgreement,
171
+ nameNeedsAgreement: kakaoAccount.nameNeedsAgreement,
172
+ profileImageNeedsAgreement: kakaoAccount.profileImageNeedsAgreement,
173
+ profileNicknameNeedsAgreement: kakaoAccount.profileNicknameNeedsAgreement,
174
+ legalBirthDateNeedsAgreement: kakaoAccount.legalBirthDateNeedsAgreement,
137
175
  connectedAt: isoToUnix(ret.connectedAt),
138
176
  synchedAt: isoToUnix(ret.synchedAt)
139
177
  };
@@ -167,4 +205,5 @@ exports.logout = logout;
167
205
  exports.login = login;
168
206
  exports.isLogined = isLogined;
169
207
  exports.isKakaoTalkLoginAvailable = isKakaoTalkLoginAvailable;
208
+ var _default = exports.default = KakaoUser;
170
209
  //# sourceMappingURL=index.web.js.map
@@ -1 +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","kRunWebAPI","id","expires_in","app_id","kFetch","headers","kGlobalStorage","body","expiresIn","appId","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","isLogined","isKakaoTalkLoginAvailable","unlink","API","request","url","scopes","response","stringify","revokeScopes","data","service_terms","map","v","agreed_at","shippingAddresses","me","ret","kakaoAccount","properties","email","name","nickname","profile","profileImageUrl","profileImage","thumbnailImageUrl","thumbnailImage","phoneNumber","isEmailValid","isEmailVerified","connectedAt","synchedAt","exports"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_jsUtil","require","_core","isoToUnix","value","is","string","Date","parse","KakaoUser","getAccessToken","kRunWebAPI","id","expires_in","app_id","Kakao","API","request","url","expiresIn","appId","issueAccessTokenWithCodeWeb","clientSecret","code","redirectUri","res","kFetchFormUrlEncoded","method","body","filterNonNullishKeys","grant_type","client_id","kGlobalStorage","restApiKey","redirect_uri","client_secret","then","r","camelCaseObject","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","exports","_default","default"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { camelCaseObject, filterNonNullishKeys, is } from '@mj-studio/js-util';
4
- import { kFetch, kFetchFormUrlEncoded, kGlobalStorage, kRunWebAPI } from '@react-native-kakao/core';
5
- import * as querystring from 'querystring';
4
+ import { kFetchFormUrlEncoded, kGlobalStorage, kRunWebAPI } from '@react-native-kakao/core';
6
5
  function isoToUnix(value) {
7
6
  if (!is.string(value)) {
8
7
  return value;
@@ -15,11 +14,9 @@ const KakaoUser = {
15
14
  id,
16
15
  expires_in,
17
16
  app_id
18
- } = (await kFetch('https://kapi.kakao.com/v1/user/access_token_info', {
19
- headers: {
20
- ...kGlobalStorage.headers
21
- }
22
- })).body;
17
+ } = await Kakao.API.request({
18
+ url: '/v1/user/access_token_info'
19
+ });
23
20
  return {
24
21
  id,
25
22
  expiresIn: expires_in,
@@ -36,7 +33,7 @@ const KakaoUser = {
36
33
  body: filterNonNullishKeys({
37
34
  grant_type: 'authorization_code',
38
35
  client_id: kGlobalStorage.restApiKey,
39
- redirect_uri: encodeURIComponent(redirectUri),
36
+ redirect_uri: redirectUri,
40
37
  code,
41
38
  client_secret: clientSecret
42
39
  })
@@ -44,11 +41,8 @@ const KakaoUser = {
44
41
  return camelCaseObject(res);
45
42
  }),
46
43
  setAccessTokenWeb: token => {
44
+ Kakao.Auth.setAccessToken(token);
47
45
  kGlobalStorage.accessToken = token;
48
- return new Promise(r => {
49
- Kakao.Auth.setAccessToken(token);
50
- r(42);
51
- });
52
46
  },
53
47
  login: params => kRunWebAPI(() => {
54
48
  const {
@@ -64,15 +58,21 @@ const KakaoUser = {
64
58
  return Kakao.Auth.authorize(filterNonNullishKeys({
65
59
  loginHint,
66
60
  nonce: params?.nonce ?? nonce,
67
- prompt: prompt?.join(','),
61
+ prompt: (prompt ?? params?.prompts?.map(value => value === 'SelectAccount' ? 'select_account' : value.toLowerCase()))?.join(','),
68
62
  redirectUri,
69
- scope: scope?.join(','),
70
- serviceTerms: serviceTerms?.join(','),
63
+ scope: (scope ?? params?.scopes)?.join(','),
64
+ serviceTerms: (serviceTerms ?? params?.serviceTerms)?.join(','),
71
65
  state,
72
- throughTalk
66
+ throughTalk: throughTalk ?? (params?.useKakaoAccountLogin ? false : undefined)
73
67
  }));
74
68
  }),
75
- logout: () => kRunWebAPI(() => Kakao.Auth.logout()),
69
+ logout: () => kRunWebAPI(async () => {
70
+ try {
71
+ await Kakao.Auth.logout();
72
+ } finally {
73
+ kGlobalStorage.clearAccessToken();
74
+ }
75
+ }),
76
76
  isLogined: async () => {
77
77
  try {
78
78
  const {
@@ -84,50 +84,90 @@ const KakaoUser = {
84
84
  }
85
85
  },
86
86
  isKakaoTalkLoginAvailable: async () => false,
87
- unlink: () => kRunWebAPI(() => Kakao.API.request({
88
- url: '/v1/user/unlink'
89
- })),
87
+ unlink: () => kRunWebAPI(async () => {
88
+ await Kakao.API.request({
89
+ url: '/v1/user/unlink'
90
+ });
91
+ Kakao.Auth.setAccessToken(null);
92
+ kGlobalStorage.clearAccessToken();
93
+ }),
90
94
  scopes: scopes => kRunWebAPI(async () => {
91
95
  const response = await Kakao.API.request({
92
- url: `/v2/user/scopes${scopes ? '?' + querystring.stringify({
96
+ url: '/v2/user/scopes',
97
+ data: scopes?.length ? {
93
98
  scopes
94
- }) : ''}`
99
+ } : undefined
95
100
  });
96
101
  return camelCaseObject(response.scopes);
97
102
  }),
98
- revokeScopes: scopes => kRunWebAPI(() => Kakao.API.request({
99
- url: '/v2/user/revoke/scopes',
100
- data: {
101
- scopes
102
- }
103
- })),
104
- serviceTerms: () => kRunWebAPI(async () => camelCaseObject((await Kakao.API.request({
105
- url: '/v2/user/service_terms'
106
- })).service_terms.map(v => ({
107
- ...v,
108
- agreed_at: v.agreed_at ? isoToUnix(v.agreed_at) : null
109
- })))),
110
- shippingAddresses: () => kRunWebAPI(async () => camelCaseObject(await Kakao.API.request({
111
- url: '/v1/user/shipping_address'
112
- }))),
103
+ revokeScopes: scopes => kRunWebAPI(async () => {
104
+ await Kakao.API.request({
105
+ url: '/v2/user/revoke/scopes',
106
+ data: {
107
+ scopes
108
+ }
109
+ });
110
+ }),
111
+ serviceTerms: () => kRunWebAPI(async () => {
112
+ const response = await Kakao.API.request({
113
+ url: '/v2/user/service_terms'
114
+ });
115
+ return (response.service_terms ?? []).map(term => ({
116
+ tag: term.tag,
117
+ agreedAt: isoToUnix(term.agreed_at),
118
+ agreed: term.agreed,
119
+ required: term.required,
120
+ revocable: term.revocable
121
+ }));
122
+ }),
123
+ shippingAddresses: () => kRunWebAPI(async () => {
124
+ const response = camelCaseObject(await Kakao.API.request({
125
+ url: '/v1/user/shipping_address'
126
+ }));
127
+ return {
128
+ userId: response.userId,
129
+ needsAgreement: response.shippingAddressesNeedsAgreement,
130
+ shippingAddresses: (response.shippingAddresses ?? []).map(address => ({
131
+ ...address,
132
+ updatedAt: isoToUnix(address.updatedAt)
133
+ }))
134
+ };
135
+ }),
113
136
  me: () => kRunWebAPI(async () => {
114
137
  const ret = camelCaseObject(await Kakao.API.request({
115
138
  url: '/v2/user/me'
116
139
  }));
117
140
  const kakaoAccount = ret.kakaoAccount ?? {};
118
141
  const properties = ret.properties ?? {};
142
+ const profile = kakaoAccount.profile ?? {};
119
143
  return {
120
- ...ret,
121
- ...properties,
122
- ...kakaoAccount,
144
+ id: ret.id,
123
145
  email: kakaoAccount.email,
124
- name: null,
125
- nickname: kakaoAccount.profile.nickname,
126
- profileImageUrl: properties.profileImage,
127
- thumbnailImageUrl: properties.thumbnailImage,
128
- phoneNumber: kakaoAccount.profile.phoneNumber,
129
- isEmailValid: ret.isEmailValid,
130
- isEmailVerified: ret.isEmailVerified,
146
+ name: kakaoAccount.name,
147
+ nickname: profile.nickname ?? properties.nickname,
148
+ profileImageUrl: profile.profileImageUrl ?? properties.profileImage,
149
+ thumbnailImageUrl: profile.thumbnailImageUrl ?? properties.thumbnailImage,
150
+ phoneNumber: kakaoAccount.phoneNumber,
151
+ isEmailValid: kakaoAccount.isEmailValid,
152
+ isEmailVerified: kakaoAccount.isEmailVerified,
153
+ ageRange: kakaoAccount.ageRange,
154
+ birthday: kakaoAccount.birthday,
155
+ birthdayType: kakaoAccount.birthdayType,
156
+ birthyear: kakaoAccount.birthyear,
157
+ gender: kakaoAccount.gender,
158
+ isKorean: kakaoAccount.isKorean,
159
+ ageRangeNeedsAgreement: kakaoAccount.ageRangeNeedsAgreement,
160
+ birthdayNeedsAgreement: kakaoAccount.birthdayNeedsAgreement,
161
+ birthyearNeedsAgreement: kakaoAccount.birthyearNeedsAgreement,
162
+ emailNeedsAgreement: kakaoAccount.emailNeedsAgreement,
163
+ genderNeedsAgreement: kakaoAccount.genderNeedsAgreement,
164
+ isKoreanNeedsAgreement: kakaoAccount.isKoreanNeedsAgreement,
165
+ phoneNumberNeedsAgreement: kakaoAccount.phoneNumberNeedsAgreement,
166
+ profileNeedsAgreement: kakaoAccount.profileNeedsAgreement,
167
+ nameNeedsAgreement: kakaoAccount.nameNeedsAgreement,
168
+ profileImageNeedsAgreement: kakaoAccount.profileImageNeedsAgreement,
169
+ profileNicknameNeedsAgreement: kakaoAccount.profileNicknameNeedsAgreement,
170
+ legalBirthDateNeedsAgreement: kakaoAccount.legalBirthDateNeedsAgreement,
131
171
  connectedAt: isoToUnix(ret.connectedAt),
132
172
  synchedAt: isoToUnix(ret.synchedAt)
133
173
  };
@@ -148,4 +188,5 @@ export const {
148
188
  issueAccessTokenWithCodeWeb,
149
189
  getAccessToken
150
190
  } = KakaoUser;
191
+ export default KakaoUser;
151
192
  //# sourceMappingURL=index.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["camelCaseObject","filterNonNullishKeys","is","kFetch","kFetchFormUrlEncoded","kGlobalStorage","kRunWebAPI","querystring","isoToUnix","value","string","Date","parse","KakaoUser","getAccessToken","id","expires_in","app_id","headers","body","expiresIn","appId","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","isLogined","e","isKakaoTalkLoginAvailable","unlink","API","request","url","scopes","response","stringify","revokeScopes","data","service_terms","map","v","agreed_at","shippingAddresses","me","ret","kakaoAccount","properties","email","name","nickname","profile","profileImageUrl","profileImage","thumbnailImageUrl","thumbnailImage","phoneNumber","isEmailValid","isEmailVerified","connectedAt","synchedAt"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
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":"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","ignoreList":[]}
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": "2.4.10",
4
+ "version": "2.4.11",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
7
7
  "types": "lib/typescript/src/index.d.ts",
@@ -61,7 +61,7 @@
61
61
  "access": "public"
62
62
  },
63
63
  "devDependencies": {
64
- "@react-native-kakao/core": "2.4.10",
64
+ "@react-native-kakao/core": "2.4.11",
65
65
  "@types/invariant": "^2",
66
66
  "@types/jest": "^29.5.5",
67
67
  "@types/react": "19.0.0",
@@ -74,7 +74,7 @@
74
74
  "zx": "8.8.5"
75
75
  },
76
76
  "peerDependencies": {
77
- "@react-native-kakao/core": "2.4.10",
77
+ "@react-native-kakao/core": "2.4.11",
78
78
  "react": "*",
79
79
  "react-native": "*"
80
80
  },
package/src/index.web.ts CHANGED
@@ -1,13 +1,11 @@
1
1
  import { camelCaseObject, filterNonNullishKeys, is } from '@mj-studio/js-util';
2
- import { kFetch, kFetchFormUrlEncoded, kGlobalStorage, kRunWebAPI } from '@react-native-kakao/core';
3
- import * as querystring from 'querystring';
2
+ import { kFetchFormUrlEncoded, kGlobalStorage, kRunWebAPI } from '@react-native-kakao/core';
4
3
 
5
4
  import {
6
5
  type KakaoLoginToken,
7
6
  type KakaoScopeInfo,
8
- type KakaoServiceTerms,
9
7
  type KakaoShippingAddressResult,
10
- type KakaoUser,
8
+ type KakaoUser as KakaoUserProfile,
11
9
  type KakaoUserAPI,
12
10
  } from './index';
13
11
 
@@ -31,17 +29,8 @@ function isoToUnix(value?: string | number) {
31
29
  const KakaoUser: KakaoUserAPI = {
32
30
  getAccessToken: () =>
33
31
  kRunWebAPI(async () => {
34
- const { id, expires_in, app_id } = (
35
- await kFetch<{
36
- id: number;
37
- expires_in: number;
38
- app_id: number;
39
- }>('https://kapi.kakao.com/v1/user/access_token_info', {
40
- headers: {
41
- ...kGlobalStorage.headers,
42
- },
43
- })
44
- ).body;
32
+ const { id, expires_in, app_id }: { id: number; expires_in: number; app_id: number } =
33
+ await Kakao.API.request({ url: '/v1/user/access_token_info' });
45
34
 
46
35
  return {
47
36
  id,
@@ -64,7 +53,7 @@ const KakaoUser: KakaoUserAPI = {
64
53
  body: filterNonNullishKeys({
65
54
  grant_type: 'authorization_code',
66
55
  client_id: kGlobalStorage.restApiKey,
67
- redirect_uri: encodeURIComponent(redirectUri),
56
+ redirect_uri: redirectUri,
68
57
  code,
69
58
  client_secret: clientSecret,
70
59
  }),
@@ -73,12 +62,8 @@ const KakaoUser: KakaoUserAPI = {
73
62
  return camelCaseObject(res) as any;
74
63
  }),
75
64
  setAccessTokenWeb: (token: string) => {
65
+ Kakao.Auth.setAccessToken(token);
76
66
  kGlobalStorage.accessToken = token;
77
-
78
- return new Promise((r) => {
79
- Kakao.Auth.setAccessToken(token);
80
- r(42);
81
- });
82
67
  },
83
68
  login: (params): Promise<KakaoLoginToken> =>
84
69
  kRunWebAPI(() => {
@@ -89,16 +74,28 @@ const KakaoUser: KakaoUserAPI = {
89
74
  filterNonNullishKeys({
90
75
  loginHint,
91
76
  nonce: params?.nonce ?? nonce,
92
- prompt: prompt?.join(','),
77
+ prompt: (
78
+ prompt ??
79
+ params?.prompts?.map((value) =>
80
+ value === 'SelectAccount' ? 'select_account' : value.toLowerCase(),
81
+ )
82
+ )?.join(','),
93
83
  redirectUri,
94
- scope: scope?.join(','),
95
- serviceTerms: serviceTerms?.join(','),
84
+ scope: (scope ?? params?.scopes)?.join(','),
85
+ serviceTerms: (serviceTerms ?? params?.serviceTerms)?.join(','),
96
86
  state,
97
- throughTalk,
87
+ throughTalk: throughTalk ?? (params?.useKakaoAccountLogin ? false : undefined),
98
88
  }),
99
89
  );
100
90
  }),
101
- logout: () => kRunWebAPI(() => Kakao.Auth.logout()),
91
+ logout: () =>
92
+ kRunWebAPI(async () => {
93
+ try {
94
+ await Kakao.Auth.logout();
95
+ } finally {
96
+ kGlobalStorage.clearAccessToken();
97
+ }
98
+ }),
102
99
  isLogined: async (): Promise<boolean> => {
103
100
  try {
104
101
  const { appId } = await KakaoUser.getAccessToken();
@@ -109,68 +106,122 @@ const KakaoUser: KakaoUserAPI = {
109
106
  }
110
107
  },
111
108
  isKakaoTalkLoginAvailable: async () => false,
112
- unlink: () => kRunWebAPI(() => Kakao.API.request({ url: '/v1/user/unlink' })),
109
+ unlink: () =>
110
+ kRunWebAPI(async () => {
111
+ await Kakao.API.request({ url: '/v1/user/unlink' });
112
+ Kakao.Auth.setAccessToken(null);
113
+ kGlobalStorage.clearAccessToken();
114
+ }),
113
115
  scopes: (scopes?: string[]) =>
114
116
  kRunWebAPI(async () => {
115
117
  const response = await Kakao.API.request({
116
- url: `/v2/user/scopes${scopes ? '?' + querystring.stringify({ scopes }) : ''}`,
118
+ url: '/v2/user/scopes',
119
+ data: scopes?.length ? { scopes } : undefined,
117
120
  });
118
121
 
119
122
  return camelCaseObject(response.scopes) as KakaoScopeInfo[];
120
123
  }),
121
124
  revokeScopes: (scopes: string[]) =>
122
- kRunWebAPI(() =>
123
- Kakao.API.request({
125
+ kRunWebAPI(async () => {
126
+ await Kakao.API.request({
124
127
  url: '/v2/user/revoke/scopes',
125
128
  data: {
126
129
  scopes,
127
130
  },
128
- }),
129
- ),
131
+ });
132
+ }),
130
133
  serviceTerms: () =>
131
- kRunWebAPI(
132
- async () =>
133
- camelCaseObject(
134
- (
135
- await Kakao.API.request({
136
- url: '/v2/user/service_terms',
137
- })
138
- ).service_terms.map((v) => ({
139
- ...v,
140
- agreed_at: v.agreed_at ? isoToUnix(v.agreed_at) : null,
141
- })),
142
- ) as KakaoServiceTerms[],
143
- ),
134
+ kRunWebAPI(async () => {
135
+ const response: {
136
+ service_terms?: {
137
+ tag: string;
138
+ agreed_at?: string;
139
+ agreed: boolean;
140
+ required: boolean;
141
+ revocable: boolean;
142
+ }[];
143
+ } = await Kakao.API.request({ url: '/v2/user/service_terms' });
144
+
145
+ return (response.service_terms ?? []).map((term) => ({
146
+ tag: term.tag,
147
+ agreedAt: isoToUnix(term.agreed_at),
148
+ agreed: term.agreed,
149
+ required: term.required,
150
+ revocable: term.revocable,
151
+ }));
152
+ }),
144
153
  shippingAddresses: () =>
145
- kRunWebAPI(
146
- async () =>
147
- camelCaseObject(
148
- await Kakao.API.request({
149
- url: '/v1/user/shipping_address',
150
- }),
151
- ) as KakaoShippingAddressResult,
152
- ),
154
+ kRunWebAPI(async () => {
155
+ const response = camelCaseObject(
156
+ await Kakao.API.request({ url: '/v1/user/shipping_address' }),
157
+ ) as {
158
+ userId?: number;
159
+ shippingAddressesNeedsAgreement?: boolean;
160
+ shippingAddresses?: (Omit<
161
+ KakaoShippingAddressResult['shippingAddresses'][number],
162
+ 'updatedAt'
163
+ > & {
164
+ updatedAt?: string | number;
165
+ })[];
166
+ };
167
+
168
+ return {
169
+ userId: response.userId,
170
+ needsAgreement: response.shippingAddressesNeedsAgreement,
171
+ shippingAddresses: (response.shippingAddresses ?? []).map((address) => ({
172
+ ...address,
173
+ updatedAt: isoToUnix(address.updatedAt),
174
+ })),
175
+ } as KakaoShippingAddressResult;
176
+ }),
153
177
  me: () =>
154
178
  kRunWebAPI(async () => {
155
- const ret: any = camelCaseObject(await Kakao.API.request({ url: '/v2/user/me' }));
179
+ const ret = camelCaseObject(await Kakao.API.request({ url: '/v2/user/me' })) as {
180
+ id: number;
181
+ connectedAt?: string;
182
+ synchedAt?: string;
183
+ kakaoAccount?: Partial<KakaoUserProfile> & {
184
+ profile?: Partial<
185
+ Pick<KakaoUserProfile, 'nickname' | 'profileImageUrl' | 'thumbnailImageUrl'>
186
+ >;
187
+ };
188
+ properties?: { nickname?: string; profileImage?: string; thumbnailImage?: string };
189
+ };
156
190
  const kakaoAccount = ret.kakaoAccount ?? {};
157
191
  const properties = ret.properties ?? {};
192
+ const profile = kakaoAccount.profile ?? {};
158
193
 
159
194
  return {
160
- ...ret,
161
- ...properties,
162
- ...kakaoAccount,
195
+ id: ret.id,
163
196
  email: kakaoAccount.email,
164
- name: null,
165
- nickname: kakaoAccount.profile.nickname,
166
- profileImageUrl: properties.profileImage,
167
- thumbnailImageUrl: properties.thumbnailImage,
168
- phoneNumber: kakaoAccount.profile.phoneNumber,
169
- isEmailValid: ret.isEmailValid,
170
- isEmailVerified: ret.isEmailVerified,
197
+ name: kakaoAccount.name,
198
+ nickname: profile.nickname ?? properties.nickname,
199
+ profileImageUrl: profile.profileImageUrl ?? properties.profileImage,
200
+ thumbnailImageUrl: profile.thumbnailImageUrl ?? properties.thumbnailImage,
201
+ phoneNumber: kakaoAccount.phoneNumber,
202
+ isEmailValid: kakaoAccount.isEmailValid,
203
+ isEmailVerified: kakaoAccount.isEmailVerified,
204
+ ageRange: kakaoAccount.ageRange,
205
+ birthday: kakaoAccount.birthday,
206
+ birthdayType: kakaoAccount.birthdayType,
207
+ birthyear: kakaoAccount.birthyear,
208
+ gender: kakaoAccount.gender,
209
+ isKorean: kakaoAccount.isKorean,
210
+ ageRangeNeedsAgreement: kakaoAccount.ageRangeNeedsAgreement,
211
+ birthdayNeedsAgreement: kakaoAccount.birthdayNeedsAgreement,
212
+ birthyearNeedsAgreement: kakaoAccount.birthyearNeedsAgreement,
213
+ emailNeedsAgreement: kakaoAccount.emailNeedsAgreement,
214
+ genderNeedsAgreement: kakaoAccount.genderNeedsAgreement,
215
+ isKoreanNeedsAgreement: kakaoAccount.isKoreanNeedsAgreement,
216
+ phoneNumberNeedsAgreement: kakaoAccount.phoneNumberNeedsAgreement,
217
+ profileNeedsAgreement: kakaoAccount.profileNeedsAgreement,
218
+ nameNeedsAgreement: kakaoAccount.nameNeedsAgreement,
219
+ profileImageNeedsAgreement: kakaoAccount.profileImageNeedsAgreement,
220
+ profileNicknameNeedsAgreement: kakaoAccount.profileNicknameNeedsAgreement,
221
+ legalBirthDateNeedsAgreement: kakaoAccount.legalBirthDateNeedsAgreement,
171
222
  connectedAt: isoToUnix(ret.connectedAt),
172
223
  synchedAt: isoToUnix(ret.synchedAt),
173
- } as KakaoUser;
224
+ } as KakaoUserProfile;
174
225
  }),
175
226
  };
176
227