@cloudbase/oauth 0.0.2-alpha.0 → 0.1.1-alpha

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.
Files changed (85) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +137 -5
  3. package/app/index.d.ts +28 -0
  4. package/app/index.js +54 -0
  5. package/app/index.js.map +1 -0
  6. package/app/internal.d.ts +12 -0
  7. package/app/internal.js +25 -0
  8. package/app/internal.js.map +1 -0
  9. package/app/openuri.d.ts +20 -0
  10. package/app/openuri.js +104 -0
  11. package/app/openuri.js.map +1 -0
  12. package/app/request.d.ts +18 -0
  13. package/app/request.js +44 -0
  14. package/app/request.js.map +1 -0
  15. package/app/storage.d.ts +41 -0
  16. package/app/storage.js +35 -0
  17. package/app/storage.js.map +1 -0
  18. package/{dist/auth → auth}/consts.d.ts +21 -1
  19. package/auth/consts.js +57 -0
  20. package/auth/consts.js.map +1 -0
  21. package/auth/index.d.ts +193 -0
  22. package/auth/index.js +403 -0
  23. package/auth/index.js.map +1 -0
  24. package/{dist/auth → auth}/models.d.ts +35 -22
  25. package/auth/models.js +3 -0
  26. package/auth/models.js.map +1 -0
  27. package/captcha/index.d.ts +45 -0
  28. package/captcha/index.js +133 -0
  29. package/captcha/index.js.map +1 -0
  30. package/index.d.ts +8 -0
  31. package/index.js +17 -0
  32. package/index.js.map +1 -0
  33. package/{dist/oauth2client → oauthclient}/consts.d.ts +1 -22
  34. package/oauthclient/consts.js +53 -0
  35. package/oauthclient/consts.js.map +1 -0
  36. package/oauthclient/index.d.ts +18 -0
  37. package/oauthclient/index.js +21 -0
  38. package/oauthclient/index.js.map +1 -0
  39. package/oauthclient/interface.d.ts +25 -0
  40. package/oauthclient/interface.js +10 -0
  41. package/oauthclient/interface.js.map +1 -0
  42. package/{dist/oauth2client → oauthclient}/models.d.ts +5 -13
  43. package/oauthclient/models.js +3 -0
  44. package/oauthclient/models.js.map +1 -0
  45. package/oauthclient/oauthclient.d.ts +142 -0
  46. package/{src/oauth2client/oauth2client.ts → oauthclient/oauthclient.js} +113 -265
  47. package/oauthclient/oauthclient.js.map +1 -0
  48. package/package.json +20 -19
  49. package/utils/single-promise.d.ts +18 -0
  50. package/utils/single-promise.js +48 -0
  51. package/utils/single-promise.js.map +1 -0
  52. package/utils/uuid.d.ts +5 -0
  53. package/utils/uuid.js +16 -0
  54. package/utils/uuid.js.map +1 -0
  55. package/.eslintignore +0 -2
  56. package/.eslintrc +0 -26
  57. package/dist/auth/apis.d.ts +0 -40
  58. package/dist/auth/apis.js +0 -422
  59. package/dist/auth/consts.js +0 -35
  60. package/dist/auth/models.js +0 -3
  61. package/dist/captcha/captcha.d.ts +0 -35
  62. package/dist/captcha/captcha.js +0 -262
  63. package/dist/index.d.ts +0 -7
  64. package/dist/index.js +0 -38
  65. package/dist/oauth2client/consts.js +0 -73
  66. package/dist/oauth2client/interface.d.ts +0 -12
  67. package/dist/oauth2client/interface.js +0 -10
  68. package/dist/oauth2client/models.js +0 -3
  69. package/dist/oauth2client/oauth2client.d.ts +0 -64
  70. package/dist/oauth2client/oauth2client.js +0 -585
  71. package/dist/utils/function/single-promise.d.ts +0 -5
  72. package/dist/utils/function/single-promise.js +0 -89
  73. package/dist/utils/uuid.d.ts +0 -1
  74. package/dist/utils/uuid.js +0 -12
  75. package/src/auth/apis.ts +0 -484
  76. package/src/auth/consts.ts +0 -30
  77. package/src/auth/models.ts +0 -175
  78. package/src/captcha/captcha.ts +0 -217
  79. package/src/index.ts +0 -24
  80. package/src/oauth2client/consts.ts +0 -69
  81. package/src/oauth2client/interface.ts +0 -44
  82. package/src/oauth2client/models.ts +0 -61
  83. package/src/utils/function/single-promise.ts +0 -40
  84. package/src/utils/uuid.ts +0 -11
  85. package/tsconfig.json +0 -44
package/auth/consts.js ADDED
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorType = exports.VerificationUsages = exports.ApiUrls = void 0;
4
+ var ApiUrls;
5
+ (function (ApiUrls) {
6
+ ApiUrls["AUTH_SIGN_IN_URL"] = "/auth/v1/signin";
7
+ ApiUrls["AUTH_SIGN_IN_ANONYMOUSLY_URL"] = "/auth/v1/signin/anonymously";
8
+ ApiUrls["AUTH_SIGN_IN_WITH_PROVIDER_URL"] = "/auth/v1/signin/with/provider";
9
+ ApiUrls["AUTH_SIGN_UP_URL"] = "/auth/v1/signup";
10
+ ApiUrls["AUTH_TOKEN_URL"] = "/auth/v1/token";
11
+ ApiUrls["AUTH_REVOKE_URL"] = "/auth/v1/revoke";
12
+ ApiUrls["PROVIDER_BIND_URL"] = "/auth/v1/user/provider/bind";
13
+ ApiUrls["PROVIDER_TOKEN_URL"] = "/auth/v1/provider/token";
14
+ ApiUrls["PROVIDER_URI_URL"] = "/auth/v1/provider/uri";
15
+ ApiUrls["USER_ME_URL"] = "/auth/v1/user/me";
16
+ ApiUrls["USER_QUERY_URL"] = "/auth/v1/user/query";
17
+ ApiUrls["USER_PRIFILE_URL"] = "/auth/v1/user/profile";
18
+ ApiUrls["USER_TRANS_BY_PROVIDER_URL"] = "/auth/v1/user/trans/by/provider";
19
+ ApiUrls["VERIFICATION_URL"] = "/auth/v1/verification";
20
+ ApiUrls["VERIFY_URL"] = "/auth/v1/verification/verify";
21
+ ApiUrls["PROVIDER_LIST"] = "/auth/v1/user/provider";
22
+ ApiUrls["PROVIDER_UNBIND_URL"] = "/auth/v1/user/provider";
23
+ ApiUrls["SUDO_URL"] = "/auth/v1/user/sudo";
24
+ ApiUrls["BIND_PHONE_URL"] = "/auth/v1/user/contact";
25
+ ApiUrls["AUTH_SET_PASSWORD"] = "/auth/v1/user/password";
26
+ })(ApiUrls = exports.ApiUrls || (exports.ApiUrls = {}));
27
+ var VerificationUsages;
28
+ (function (VerificationUsages) {
29
+ VerificationUsages["REGISTER"] = "REGISTER";
30
+ VerificationUsages["SIGN_IN"] = "SIGN_IN";
31
+ VerificationUsages["PASSWORD_RESET"] = "PASSWORD_RESET";
32
+ VerificationUsages["EMAIL_ADDRESS_CHANGE"] = "EMAIL_ADDRESS_CHANGE";
33
+ VerificationUsages["PHONE_NUMBER_CHANGE"] = "PHONE_NUMBER_CHANGE";
34
+ })(VerificationUsages = exports.VerificationUsages || (exports.VerificationUsages = {}));
35
+ var ErrorType;
36
+ (function (ErrorType) {
37
+ ErrorType["INVALID_ARGUMENT"] = "invalid_argument";
38
+ ErrorType["DEADLINE_EXCEEDED"] = "deadline_exceeded";
39
+ ErrorType["NOT_FOUND"] = "not_found";
40
+ ErrorType["ALREADY_EXISTS"] = "already_exists";
41
+ ErrorType["PERMISSION_DENIED"] = "permission_denied";
42
+ ErrorType["ABORTED"] = "aborted";
43
+ ErrorType["OUT_OF_RANGE"] = "out_of_range";
44
+ ErrorType["UNIMPLEMENTED"] = "unimplemented";
45
+ ErrorType["INTERNAL"] = "internal";
46
+ ErrorType["UNAVAILABLE"] = "unavailable";
47
+ ErrorType["DATA_LOSS"] = "data_loss";
48
+ // CommonError
49
+ ErrorType["CAPTCHA_REQUIRED"] = "captcha_required";
50
+ ErrorType["CAPTCHA_INVALID"] = "captcha_invalid";
51
+ ErrorType["INVALID_PASSWORD"] = "invalid_password";
52
+ ErrorType["PASSWORD_NOT_SET"] = "password_not_set";
53
+ ErrorType["INVALID_STATUS"] = "invalid_status";
54
+ ErrorType["USER_PENDING"] = "user_pending";
55
+ ErrorType["USER_BLOCKED"] = "user_blocked";
56
+ })(ErrorType = exports.ErrorType || (exports.ErrorType = {}));
57
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/auth/consts.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAqBX;AArBD,WAAY,OAAO;IACf,+CAAoC,CAAA;IACpC,uEAA4D,CAAA;IAC5D,2EAAgE,CAAA;IAChE,+CAAoC,CAAA;IACpC,4CAAiC,CAAA;IACjC,8CAAmC,CAAA;IACnC,4DAAiD,CAAA;IACjD,yDAA8C,CAAA;IAC9C,qDAA0C,CAAA;IAC1C,2CAAgC,CAAA;IAChC,iDAAsC,CAAA;IACtC,qDAA0C,CAAA;IAC1C,yEAA8D,CAAA;IAC9D,qDAA0C,CAAA;IAC1C,sDAA2C,CAAA;IAC3C,mDAAwC,CAAA;IACxC,yDAA8C,CAAA;IAC9C,0CAA+B,CAAA;IAC/B,mDAAwC,CAAA;IACxC,uDAA4C,CAAA;AAChD,CAAC,EArBW,OAAO,GAAP,eAAO,KAAP,eAAO,QAqBlB;AAED,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC1B,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,uDAAiC,CAAA;IACjC,mEAA6C,CAAA;IAC7C,iEAA2C,CAAA;AAC/C,CAAC,EANW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAM7B;AAED,IAAY,SAoBX;AApBD,WAAY,SAAS;IACjB,kDAAqC,CAAA;IACrC,oDAAuC,CAAA;IACvC,oCAAuB,CAAA;IACvB,8CAAiC,CAAA;IACjC,oDAAuC,CAAA;IACvC,gCAAmB,CAAA;IACnB,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;IACrB,wCAA2B,CAAA;IAC3B,oCAAuB,CAAA;IACvB,cAAc;IACd,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,kDAAqC,CAAA;IACrC,kDAAqC,CAAA;IACrC,8CAAiC,CAAA;IACjC,0CAA6B,CAAA;IAC7B,0CAA6B,CAAA;AACjC,CAAC,EApBW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAoBpB"}
@@ -0,0 +1,193 @@
1
+ export { ErrorType } from './consts';
2
+ import { GetVerificationRequest, GetVerificationResponse, UserProfile, SignInRequest, SignUpRequest, VerifyRequest, VerifyResponse, GenProviderRedirectUriRequest, GenProviderRedirectUriResponse, GrantProviderTokenRequest, GrantProviderTokenResponse, PatchProviderTokenRequest, PatchProviderTokenResponse, SignInWithProviderRequest, BindWithProviderRequest, TransByProviderRequest, GrantTokenRequest, UserProfileProvider, UnbindProviderRequest, CheckPasswordrRequest, BindPhoneRequest, SetPasswordRequest, ChangeBoundProviderRequest, ChangeBoundProviderResponse, QueryUserProfileReq, UpdatePasswordRequest, SudoRequest, SudoResponse } from './models';
3
+ import { Credentials, AuthClient } from "../oauthclient";
4
+ import { Captcha } from '../captcha';
5
+ import { App, RequestFn as appRequestFn } from "../app";
6
+ export interface AuthOptions {
7
+ credentialsClient: AuthClient;
8
+ captcha: Captcha;
9
+ }
10
+ /**
11
+ * Returns the existing `Auth` instance that is associated with the app
12
+ */
13
+ export declare function getAuth(app: App, initOptions?: any): Auth;
14
+ export declare type GetCustomSignTicketFn = () => Promise<string>;
15
+ /**
16
+ * Auth
17
+ */
18
+ export declare class Auth {
19
+ readonly request: appRequestFn;
20
+ readonly credentialsClient: AuthClient;
21
+ private _getCustomSignTicketFn?;
22
+ /**
23
+ * constructor
24
+ * @param {AuthOptions} opts
25
+ */
26
+ constructor(opts: AuthOptions);
27
+ /**
28
+ * Sign in.
29
+ * @param {SignInRequest} params A SignInRequest Object.
30
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
31
+ */
32
+ signIn(params: SignInRequest): Promise<Credentials>;
33
+ /**
34
+ * Sign in Anonymously
35
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
36
+ */
37
+ signInAnonymously(): Promise<Credentials>;
38
+ /**
39
+ * Sign up.
40
+ * @param {SignUpRequest} params A SignUpRequest Object.
41
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
42
+ */
43
+ protected signUp(params: SignUpRequest): Promise<Credentials>;
44
+ /**
45
+ * Sign out.
46
+ * @return {Object} A Promise<void> object.
47
+ */
48
+ signOut(): Promise<void>;
49
+ /**
50
+ * Get the verification.
51
+ * @param {GetVerificationRequest} params A GetVerificationRequest Object.
52
+ * @return {Promise<GetVerificationResponse>} A Promise<GetVerificationResponse> object.
53
+ */
54
+ getVerification(params: GetVerificationRequest): Promise<GetVerificationResponse>;
55
+ /**
56
+ * Verify the code
57
+ * @param {VerifyRequest} params A VerifyRequest Object.
58
+ * @return {Promise<VerifyResponse>} A Promise<VerifyResponse> object.
59
+ */
60
+ verify(params: VerifyRequest): Promise<VerifyResponse>;
61
+ /**
62
+ * Gen provider redirect uri.
63
+ * @param {GenProviderRedirectUriRequest} params A GenProviderRedirectUriRequest object.
64
+ * @return {Promise<GenProviderRedirectUriResponse>} A Promise<GenProviderRedirectUriResponse> object.
65
+ */
66
+ genProviderRedirectUri(params: GenProviderRedirectUriRequest): Promise<GenProviderRedirectUriResponse>;
67
+ /**
68
+ * Grant provider token.
69
+ * @param {GrantProviderTokenRequest} params A GrantProviderTokenRequest object.
70
+ * @return {Promise<GrantProviderTokenResponse>} A Promise<GrantProviderTokenResponse> object.
71
+ */
72
+ grantProviderToken(params: GrantProviderTokenRequest): Promise<GrantProviderTokenResponse>;
73
+ /**
74
+ * Grant provider token.
75
+ * @param {PatchProviderTokenRequest} params A PatchProviderTokenRequest object.
76
+ * @return {Promise<PatchProviderTokenResponse>} A Promise<PatchProviderTokenResponse> object.
77
+ */
78
+ patchProviderToken(params: PatchProviderTokenRequest): Promise<PatchProviderTokenResponse>;
79
+ /**
80
+ * Signin with provider request.
81
+ * @param {SignInWithProviderRequest} params A SignInWithProviderRequest object.
82
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
83
+ */
84
+ signInWithProvider(params: SignInWithProviderRequest): Promise<Credentials>;
85
+ /**
86
+ * Bind with provider
87
+ * @param {BindWithProviderRequest} params A BindWithProviderRequest object.
88
+ * @return {Promise<void>} A Promise<any> object.
89
+ */
90
+ bindWithProvider(params: BindWithProviderRequest): Promise<void>;
91
+ /**
92
+ * Get the user profile.
93
+ * @return {Promise<UserProfile>} A Promise<UserProfile> object.
94
+ */
95
+ getUserProfile(): Promise<UserProfile>;
96
+ /**
97
+ * Get the user profile.
98
+ * @return {Promise<UserProfile>} A Promise<UserProfile> object.
99
+ */
100
+ updateUserProfile(params: UserProfile): Promise<UserProfile>;
101
+ /**
102
+ * hasLoginState check if has login state
103
+ * @return {Promise<boolean>} A Promise<boolean> object.
104
+ */
105
+ hasLoginState(): Promise<boolean>;
106
+ /**
107
+ * Trans by provider.
108
+ * @param {TransByProviderRequest} params A TransByProviderRequest object.
109
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
110
+ */
111
+ transByProvider(params: TransByProviderRequest): Promise<Credentials>;
112
+ /**
113
+ * Grant token.
114
+ * @param {GrantTokenRequest} params A GrantTokenRequest object.
115
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
116
+ */
117
+ grantToken(params: GrantTokenRequest): Promise<Credentials>;
118
+ /**
119
+ * Get the provide list.
120
+ * @return {Promise<UserProfileProvider>} A Promise<UserProfileProvider> object.
121
+ */
122
+ getProviders(): Promise<UserProfileProvider>;
123
+ /**
124
+ * unbind provider.
125
+ * @param {UnbindProviderRequest} params
126
+ * @return {Promise<any>}
127
+ */
128
+ unbindProvider(params: UnbindProviderRequest): Promise<void>;
129
+ /**
130
+ * check Password.
131
+ * @param {CheckPasswordrRequest} params
132
+ * @return {Promise<any>}
133
+ */
134
+ checkPassword(params: CheckPasswordrRequest): Promise<void>;
135
+ /**
136
+ * check Password.
137
+ * @param {CheckPasswordrRequest} params
138
+ * @return {Promise<any>}
139
+ */
140
+ bindPhone(params: BindPhoneRequest): Promise<void>;
141
+ /**
142
+ * Set Password.
143
+ * @param {SetPasswordrRequest} params
144
+ * @return {Promise<any>}
145
+ */
146
+ setPassword(params: SetPasswordRequest): Promise<void>;
147
+ /**
148
+ * updatePasswordByOld 使用旧密码修改密码,如果已经绑定手机号,请先:sudo,再修改密码
149
+ * @param {SetPasswordrRequest} params
150
+ * @return {Promise<any>}
151
+ */
152
+ updatePasswordByOld(params: UpdatePasswordRequest): Promise<void>;
153
+ /**
154
+ * sudo
155
+ * @param {sudo} params
156
+ * @return {Promise<any>}
157
+ */
158
+ sudo(params: SudoRequest): Promise<SudoResponse>;
159
+ /**
160
+ * Get the current user verification.
161
+ * @param {GetVerificationRequest} params A GetVerificationRequest Object.
162
+ * @return {Promise<GetVerificationResponse>} A Promise<GetVerificationResponse> object.
163
+ */
164
+ getCurUserVerification(params: GetVerificationRequest): Promise<GetVerificationResponse>;
165
+ /**
166
+ * change Bound provider.
167
+ * @param {GetVerificationRequest} params A GetVerificationRequest Object.
168
+ * @return {Promise<GetVerificationResponse>} A Promise<GetVerificationResponse> object.
169
+ */
170
+ changeBoundProvider(params: ChangeBoundProviderRequest): Promise<ChangeBoundProviderResponse>;
171
+ /**
172
+ * Patch the user profile.
173
+ * @param {UserProfile} params A UserProfile Object.
174
+ * @return {Promise<UserProfile>} A Promise<UserProfile> object.
175
+ */
176
+ setUserProfile(params: UserProfile): Promise<UserProfile>;
177
+ /**
178
+ * setCustomSignFunc set the get ticket function
179
+ * @param getTickFn
180
+ */
181
+ setCustomSignFunc(getTickFn: GetCustomSignTicketFn): void;
182
+ /**
183
+ * SignInWithCustomTicket custom signIn
184
+ * @constructor
185
+ */
186
+ SignInWithCustomTicket(): Promise<Credentials>;
187
+ /**
188
+ * Patch the user profile.
189
+ * @param {QueryUserProfileReq} appended_params A QueryUserProfileReq Object.
190
+ * @return {Promise<UserProfile>} A Promise<UserProfile> object.
191
+ */
192
+ queryUserProfile(appended_params: QueryUserProfileReq): Promise<UserProfile>;
193
+ }
package/auth/index.js ADDED
@@ -0,0 +1,403 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Auth = exports.getAuth = void 0;
4
+ const consts_1 = require("./consts");
5
+ var consts_2 = require("./consts");
6
+ Object.defineProperty(exports, "ErrorType", { enumerable: true, get: function () { return consts_2.ErrorType; } });
7
+ const oauthclient_1 = require("../oauthclient");
8
+ const captcha_1 = require("../captcha");
9
+ const internal_1 = require("../app/internal");
10
+ /**
11
+ * Returns the existing `Auth` instance that is associated with the app
12
+ */
13
+ function getAuth(app, initOptions) {
14
+ return internal_1._getComponent(app, "auth", () => {
15
+ const credentialsClient = oauthclient_1.getOAuthClient(app, initOptions);
16
+ const baseRequest = credentialsClient.request.bind(credentialsClient);
17
+ const captcha = captcha_1.getCaptcha(app, { request: baseRequest });
18
+ return new Auth({
19
+ credentialsClient: credentialsClient,
20
+ captcha: captcha
21
+ });
22
+ });
23
+ }
24
+ exports.getAuth = getAuth;
25
+ /**
26
+ * Auth
27
+ */
28
+ class Auth {
29
+ /**
30
+ * constructor
31
+ * @param {AuthOptions} opts
32
+ */
33
+ constructor(opts) {
34
+ this.request = opts.captcha.request.bind(opts.captcha);
35
+ this.credentialsClient = opts.credentialsClient;
36
+ }
37
+ /**
38
+ * Sign in.
39
+ * @param {SignInRequest} params A SignInRequest Object.
40
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
41
+ */
42
+ async signIn(params) {
43
+ const credentials = await this.request(consts_1.ApiUrls.AUTH_SIGN_IN_URL, {
44
+ method: 'POST',
45
+ withBasicAuth: true,
46
+ body: params
47
+ });
48
+ await this.credentialsClient.setCredentials(credentials);
49
+ return Promise.resolve(credentials);
50
+ }
51
+ /**
52
+ * Sign in Anonymously
53
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
54
+ */
55
+ async signInAnonymously() {
56
+ const credentials = await this.request(consts_1.ApiUrls.AUTH_SIGN_IN_ANONYMOUSLY_URL, {
57
+ method: 'POST',
58
+ withBasicAuth: true,
59
+ body: {}
60
+ });
61
+ await this.credentialsClient.setCredentials(credentials);
62
+ return Promise.resolve(credentials);
63
+ }
64
+ /**
65
+ * Sign up.
66
+ * @param {SignUpRequest} params A SignUpRequest Object.
67
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
68
+ */
69
+ async signUp(params) {
70
+ const data = await this.request(consts_1.ApiUrls.AUTH_SIGN_UP_URL, {
71
+ method: 'POST',
72
+ withBasicAuth: true,
73
+ body: params,
74
+ });
75
+ await this.credentialsClient.setCredentials(data);
76
+ return Promise.resolve(data);
77
+ }
78
+ /**
79
+ * Sign out.
80
+ * @return {Object} A Promise<void> object.
81
+ */
82
+ async signOut() {
83
+ const accessToken = await this.credentialsClient.getAccessToken();
84
+ const data = await this.request(consts_1.ApiUrls.AUTH_REVOKE_URL, {
85
+ method: 'POST',
86
+ withBasicAuth: true,
87
+ body: {
88
+ token: accessToken,
89
+ },
90
+ });
91
+ await this.credentialsClient.setCredentials();
92
+ return Promise.resolve(data);
93
+ }
94
+ /**
95
+ * Get the verification.
96
+ * @param {GetVerificationRequest} params A GetVerificationRequest Object.
97
+ * @return {Promise<GetVerificationResponse>} A Promise<GetVerificationResponse> object.
98
+ */
99
+ async getVerification(params) {
100
+ return this.request(consts_1.ApiUrls.VERIFICATION_URL, {
101
+ method: 'POST',
102
+ withBasicAuth: true,
103
+ body: params,
104
+ withCaptcha: true
105
+ });
106
+ }
107
+ /**
108
+ * Verify the code
109
+ * @param {VerifyRequest} params A VerifyRequest Object.
110
+ * @return {Promise<VerifyResponse>} A Promise<VerifyResponse> object.
111
+ */
112
+ async verify(params) {
113
+ return this.request(consts_1.ApiUrls.VERIFY_URL, {
114
+ method: 'POST',
115
+ withBasicAuth: true,
116
+ body: params,
117
+ });
118
+ }
119
+ /**
120
+ * Gen provider redirect uri.
121
+ * @param {GenProviderRedirectUriRequest} params A GenProviderRedirectUriRequest object.
122
+ * @return {Promise<GenProviderRedirectUriResponse>} A Promise<GenProviderRedirectUriResponse> object.
123
+ */
124
+ async genProviderRedirectUri(params) {
125
+ let url = `${consts_1.ApiUrls.PROVIDER_URI_URL}?provider_id=${params.provider_id}&redirect_uri=${encodeURIComponent(params.provider_redirect_uri)}&state=${params.state}`;
126
+ const other_params = params.other_params;
127
+ if (other_params) {
128
+ if (typeof other_params.sign_out_uri === 'string' &&
129
+ other_params.sign_out_uri.length > 0) {
130
+ url += `&other_params[sign_out_uri]=${other_params.sign_out_uri}`;
131
+ }
132
+ }
133
+ return this.request(url, {
134
+ method: 'GET',
135
+ withBasicAuth: true,
136
+ });
137
+ }
138
+ /**
139
+ * Grant provider token.
140
+ * @param {GrantProviderTokenRequest} params A GrantProviderTokenRequest object.
141
+ * @return {Promise<GrantProviderTokenResponse>} A Promise<GrantProviderTokenResponse> object.
142
+ */
143
+ async grantProviderToken(params) {
144
+ return this.request(consts_1.ApiUrls.PROVIDER_TOKEN_URL, {
145
+ method: 'POST',
146
+ withBasicAuth: true,
147
+ body: params,
148
+ });
149
+ }
150
+ /**
151
+ * Grant provider token.
152
+ * @param {PatchProviderTokenRequest} params A PatchProviderTokenRequest object.
153
+ * @return {Promise<PatchProviderTokenResponse>} A Promise<PatchProviderTokenResponse> object.
154
+ */
155
+ async patchProviderToken(params) {
156
+ return this.request(consts_1.ApiUrls.PROVIDER_TOKEN_URL, {
157
+ method: 'PATCH',
158
+ withBasicAuth: true,
159
+ body: params,
160
+ });
161
+ }
162
+ /**
163
+ * Signin with provider request.
164
+ * @param {SignInWithProviderRequest} params A SignInWithProviderRequest object.
165
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
166
+ */
167
+ async signInWithProvider(params) {
168
+ const credentials = await this.request(consts_1.ApiUrls.AUTH_SIGN_IN_WITH_PROVIDER_URL, {
169
+ method: 'POST',
170
+ withBasicAuth: true,
171
+ body: params,
172
+ });
173
+ await this.credentialsClient.setCredentials(credentials);
174
+ return Promise.resolve(credentials);
175
+ }
176
+ /**
177
+ * Bind with provider
178
+ * @param {BindWithProviderRequest} params A BindWithProviderRequest object.
179
+ * @return {Promise<void>} A Promise<any> object.
180
+ */
181
+ async bindWithProvider(params) {
182
+ return this.request(consts_1.ApiUrls.PROVIDER_BIND_URL, {
183
+ method: 'POST',
184
+ withBasicAuth: true,
185
+ body: params,
186
+ withCredentials: true,
187
+ });
188
+ }
189
+ /**
190
+ * Get the user profile.
191
+ * @return {Promise<UserProfile>} A Promise<UserProfile> object.
192
+ */
193
+ async getUserProfile() {
194
+ return this.request(consts_1.ApiUrls.USER_ME_URL, {
195
+ method: 'GET',
196
+ withCredentials: true,
197
+ });
198
+ }
199
+ /**
200
+ * Get the user profile.
201
+ * @return {Promise<UserProfile>} A Promise<UserProfile> object.
202
+ */
203
+ async updateUserProfile(params) {
204
+ return this.request(consts_1.ApiUrls.USER_ME_URL, {
205
+ method: 'PATCH',
206
+ withCredentials: true,
207
+ body: params,
208
+ });
209
+ }
210
+ /**
211
+ * hasLoginState check if has login state
212
+ * @return {Promise<boolean>} A Promise<boolean> object.
213
+ */
214
+ async hasLoginState() {
215
+ try {
216
+ await this.credentialsClient.getAccessToken();
217
+ return true;
218
+ }
219
+ catch (err) {
220
+ if (err.error === oauthclient_1.ErrorType.UNAUTHENTICATED) {
221
+ return false;
222
+ }
223
+ return Promise.reject(err);
224
+ }
225
+ }
226
+ /**
227
+ * Trans by provider.
228
+ * @param {TransByProviderRequest} params A TransByProviderRequest object.
229
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
230
+ */
231
+ async transByProvider(params) {
232
+ return this.request(consts_1.ApiUrls.USER_TRANS_BY_PROVIDER_URL, {
233
+ method: 'PATCH',
234
+ body: params,
235
+ withCredentials: true,
236
+ });
237
+ }
238
+ /**
239
+ * Grant token.
240
+ * @param {GrantTokenRequest} params A GrantTokenRequest object.
241
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
242
+ */
243
+ async grantToken(params) {
244
+ return this.request(consts_1.ApiUrls.AUTH_TOKEN_URL, {
245
+ method: 'POST',
246
+ withBasicAuth: true,
247
+ body: params,
248
+ });
249
+ }
250
+ /**
251
+ * Get the provide list.
252
+ * @return {Promise<UserProfileProvider>} A Promise<UserProfileProvider> object.
253
+ */
254
+ async getProviders() {
255
+ return this.request(consts_1.ApiUrls.PROVIDER_LIST, {
256
+ method: 'GET',
257
+ withCredentials: true,
258
+ });
259
+ }
260
+ /**
261
+ * unbind provider.
262
+ * @param {UnbindProviderRequest} params
263
+ * @return {Promise<any>}
264
+ */
265
+ async unbindProvider(params) {
266
+ return this.request(`${consts_1.ApiUrls.PROVIDER_UNBIND_URL}/${params.provider_id}`, {
267
+ method: 'DELETE',
268
+ withCredentials: true,
269
+ });
270
+ }
271
+ /**
272
+ * check Password.
273
+ * @param {CheckPasswordrRequest} params
274
+ * @return {Promise<any>}
275
+ */
276
+ async checkPassword(params) {
277
+ return this.request(`${consts_1.ApiUrls.SUDO_URL}`, {
278
+ method: 'POST',
279
+ withCredentials: true,
280
+ body: params,
281
+ });
282
+ }
283
+ /**
284
+ * check Password.
285
+ * @param {CheckPasswordrRequest} params
286
+ * @return {Promise<any>}
287
+ */
288
+ async bindPhone(params) {
289
+ return this.request(`${consts_1.ApiUrls.BIND_PHONE_URL}`, {
290
+ method: 'PATCH',
291
+ withCredentials: true,
292
+ body: params,
293
+ });
294
+ }
295
+ /**
296
+ * Set Password.
297
+ * @param {SetPasswordrRequest} params
298
+ * @return {Promise<any>}
299
+ */
300
+ async setPassword(params) {
301
+ return this.request(`${consts_1.ApiUrls.AUTH_SET_PASSWORD}`, {
302
+ method: 'PATCH',
303
+ withCredentials: true,
304
+ body: params,
305
+ });
306
+ }
307
+ /**
308
+ * updatePasswordByOld 使用旧密码修改密码,如果已经绑定手机号,请先:sudo,再修改密码
309
+ * @param {SetPasswordrRequest} params
310
+ * @return {Promise<any>}
311
+ */
312
+ async updatePasswordByOld(params) {
313
+ const sudoToken = await this.sudo({ password: params.old_password });
314
+ return this.setPassword({
315
+ sudo_token: sudoToken.sudo_token,
316
+ new_password: params.new_password,
317
+ });
318
+ }
319
+ /**
320
+ * sudo
321
+ * @param {sudo} params
322
+ * @return {Promise<any>}
323
+ */
324
+ async sudo(params) {
325
+ return this.request(`${consts_1.ApiUrls.SUDO_URL}`, {
326
+ method: 'POST',
327
+ withCredentials: true,
328
+ body: params,
329
+ });
330
+ }
331
+ /**
332
+ * Get the current user verification.
333
+ * @param {GetVerificationRequest} params A GetVerificationRequest Object.
334
+ * @return {Promise<GetVerificationResponse>} A Promise<GetVerificationResponse> object.
335
+ */
336
+ async getCurUserVerification(params) {
337
+ params.target = 'CUR_USER';
338
+ return this.request(consts_1.ApiUrls.VERIFICATION_URL, {
339
+ method: 'POST',
340
+ body: params,
341
+ withCredentials: true,
342
+ withCaptcha: true
343
+ });
344
+ }
345
+ /**
346
+ * change Bound provider.
347
+ * @param {GetVerificationRequest} params A GetVerificationRequest Object.
348
+ * @return {Promise<GetVerificationResponse>} A Promise<GetVerificationResponse> object.
349
+ */
350
+ async changeBoundProvider(params) {
351
+ return this.request(`${consts_1.ApiUrls.PROVIDER_LIST}/${params.provider_id}/trans`, {
352
+ method: 'POST',
353
+ body: {
354
+ provider_trans_token: params.trans_token,
355
+ },
356
+ withCredentials: true,
357
+ });
358
+ }
359
+ /**
360
+ * Patch the user profile.
361
+ * @param {UserProfile} params A UserProfile Object.
362
+ * @return {Promise<UserProfile>} A Promise<UserProfile> object.
363
+ */
364
+ async setUserProfile(params) {
365
+ return this.request(consts_1.ApiUrls.USER_PRIFILE_URL, {
366
+ method: 'PATCH',
367
+ body: params,
368
+ withCredentials: true,
369
+ });
370
+ }
371
+ /**
372
+ * setCustomSignFunc set the get ticket function
373
+ * @param getTickFn
374
+ */
375
+ setCustomSignFunc(getTickFn) {
376
+ this._getCustomSignTicketFn = getTickFn;
377
+ }
378
+ /**
379
+ * SignInWithCustomTicket custom signIn
380
+ * @constructor
381
+ */
382
+ async SignInWithCustomTicket() {
383
+ const customTicket = await this._getCustomSignTicketFn();
384
+ return this.signInWithProvider({
385
+ provider_id: 'custom',
386
+ provider_token: customTicket
387
+ });
388
+ }
389
+ /**
390
+ * Patch the user profile.
391
+ * @param {QueryUserProfileReq} appended_params A QueryUserProfileReq Object.
392
+ * @return {Promise<UserProfile>} A Promise<UserProfile> object.
393
+ */
394
+ async queryUserProfile(appended_params) {
395
+ const url = `${consts_1.ApiUrls.USER_QUERY_URL}${appended_params}`;
396
+ return this.request(url, {
397
+ method: 'GET',
398
+ withCredentials: true,
399
+ });
400
+ }
401
+ }
402
+ exports.Auth = Auth;
403
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}