@cloudbase/oauth 0.1.1-alpha → 1.0.0-alpha.3

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 (97) hide show
  1. package/.eslintignore +2 -0
  2. package/.eslintrc +26 -0
  3. package/Dockerfile +15 -0
  4. package/README.md +130 -100
  5. package/_exmaple/assets/scripts/function/function.ts +99 -0
  6. package/_exmaple/assets/scripts/index.ts +101 -0
  7. package/_exmaple/assets/scripts/request.ts +11 -0
  8. package/_exmaple/index.html +15 -0
  9. package/_exmaple/package.json +33 -0
  10. package/_exmaple/tsconfig.json +71 -0
  11. package/_exmaple/typings.d.ts +0 -0
  12. package/_exmaple/webpack.config.js +42 -0
  13. package/dist/auth/apis.d.ts +55 -0
  14. package/dist/auth/apis.js +570 -0
  15. package/{auth → dist/auth}/consts.d.ts +7 -2
  16. package/dist/auth/consts.js +61 -0
  17. package/dist/auth/models.d.ts +355 -0
  18. package/dist/auth/models.js +3 -0
  19. package/dist/captcha/captcha.d.ts +35 -0
  20. package/dist/captcha/captcha.js +267 -0
  21. package/dist/index.d.ts +14 -0
  22. package/dist/index.js +63 -0
  23. package/{oauthclient → dist/oauth2client}/consts.d.ts +22 -1
  24. package/dist/oauth2client/consts.js +73 -0
  25. package/dist/oauth2client/interface.d.ts +15 -0
  26. package/dist/oauth2client/interface.js +10 -0
  27. package/{oauthclient → dist/oauth2client}/models.d.ts +13 -5
  28. package/dist/oauth2client/models.js +3 -0
  29. package/dist/oauth2client/oauth2client.d.ts +71 -0
  30. package/dist/oauth2client/oauth2client.js +634 -0
  31. package/dist/utils/function/single-promise.d.ts +5 -0
  32. package/dist/utils/function/single-promise.js +89 -0
  33. package/dist/utils/uuid.d.ts +1 -0
  34. package/dist/utils/uuid.js +12 -0
  35. package/package.json +28 -29
  36. package/publish.sh +2 -0
  37. package/src/auth/apis.ts +644 -0
  38. package/src/auth/consts.ts +57 -0
  39. package/src/auth/models.ts +445 -0
  40. package/src/captcha/captcha.ts +222 -0
  41. package/src/index.ts +49 -0
  42. package/src/oauth2client/consts.ts +69 -0
  43. package/src/oauth2client/interface.ts +57 -0
  44. package/src/oauth2client/models.ts +61 -0
  45. package/src/oauth2client/oauth2client.ts +615 -0
  46. package/src/utils/function/single-promise.ts +40 -0
  47. package/src/utils/uuid.ts +11 -0
  48. package/tsconfig.json +44 -0
  49. package/wiki/README.md +75 -0
  50. package/app/index.d.ts +0 -28
  51. package/app/index.js +0 -54
  52. package/app/index.js.map +0 -1
  53. package/app/internal.d.ts +0 -12
  54. package/app/internal.js +0 -25
  55. package/app/internal.js.map +0 -1
  56. package/app/openuri.d.ts +0 -20
  57. package/app/openuri.js +0 -104
  58. package/app/openuri.js.map +0 -1
  59. package/app/request.d.ts +0 -18
  60. package/app/request.js +0 -44
  61. package/app/request.js.map +0 -1
  62. package/app/storage.d.ts +0 -41
  63. package/app/storage.js +0 -35
  64. package/app/storage.js.map +0 -1
  65. package/auth/consts.js +0 -57
  66. package/auth/consts.js.map +0 -1
  67. package/auth/index.d.ts +0 -193
  68. package/auth/index.js +0 -403
  69. package/auth/index.js.map +0 -1
  70. package/auth/models.d.ts +0 -158
  71. package/auth/models.js +0 -3
  72. package/auth/models.js.map +0 -1
  73. package/captcha/index.d.ts +0 -45
  74. package/captcha/index.js +0 -133
  75. package/captcha/index.js.map +0 -1
  76. package/index.d.ts +0 -8
  77. package/index.js +0 -17
  78. package/index.js.map +0 -1
  79. package/oauthclient/consts.js +0 -53
  80. package/oauthclient/consts.js.map +0 -1
  81. package/oauthclient/index.d.ts +0 -18
  82. package/oauthclient/index.js +0 -21
  83. package/oauthclient/index.js.map +0 -1
  84. package/oauthclient/interface.d.ts +0 -25
  85. package/oauthclient/interface.js +0 -10
  86. package/oauthclient/interface.js.map +0 -1
  87. package/oauthclient/models.js +0 -3
  88. package/oauthclient/models.js.map +0 -1
  89. package/oauthclient/oauthclient.d.ts +0 -142
  90. package/oauthclient/oauthclient.js +0 -399
  91. package/oauthclient/oauthclient.js.map +0 -1
  92. package/utils/single-promise.d.ts +0 -18
  93. package/utils/single-promise.js +0 -48
  94. package/utils/single-promise.js.map +0 -1
  95. package/utils/uuid.d.ts +0 -5
  96. package/utils/uuid.js +0 -16
  97. package/utils/uuid.js.map +0 -1
package/auth/models.d.ts DELETED
@@ -1,158 +0,0 @@
1
- export interface SignInRequest {
2
- username?: string;
3
- password?: string;
4
- verification_token?: string;
5
- }
6
- export interface SignInWithProviderRequest {
7
- provider_token: string;
8
- provider_id?: string;
9
- }
10
- export interface SignUpRequest {
11
- phone_number?: string;
12
- email?: string;
13
- verification_code?: string;
14
- verification_token?: string;
15
- provider_token?: string;
16
- username?: string;
17
- password?: string;
18
- name?: string;
19
- gender?: string;
20
- picture?: string;
21
- locale?: string;
22
- }
23
- export interface GetVerificationRequest {
24
- phone_number?: string;
25
- email?: string;
26
- target?: string | 'ANY';
27
- usage?: string;
28
- }
29
- export interface GetVerificationResponse {
30
- verification_id?: string;
31
- is_user?: boolean | false;
32
- }
33
- export interface VerifyResponse {
34
- verification_token?: string;
35
- }
36
- export interface VerifyRequest {
37
- verification_code: string;
38
- verification_id?: string;
39
- }
40
- export interface ProviderBindRequest {
41
- provider_token: string;
42
- }
43
- export interface GrantProviderTokenRequest {
44
- provider_id: string;
45
- provider_redirect_uri?: string;
46
- provider_code?: string;
47
- provider_access_token?: string;
48
- provider_id_token?: string;
49
- }
50
- export interface GrantProviderTokenResponse {
51
- provider_token: string;
52
- expires_in: number;
53
- }
54
- export interface PatchProviderTokenRequest {
55
- provider_token: string;
56
- provider_params: {
57
- encryptedData: string;
58
- iv: string;
59
- };
60
- }
61
- export interface PatchProviderTokenResponse {
62
- provider_token: string;
63
- expires_in: number;
64
- provider_profile: ProviderProfile;
65
- }
66
- export interface GenProviderRedirectUriRequest {
67
- provider_id: string;
68
- provider_redirect_uri: string;
69
- state: string;
70
- other_params?: {
71
- sign_out_uri?: string;
72
- };
73
- }
74
- export interface GenProviderRedirectUriResponse {
75
- uri: string;
76
- signout_uri?: string;
77
- }
78
- export interface BindWithProviderRequest {
79
- provider_token: string;
80
- }
81
- export interface BindWithProviderRequest {
82
- provider_token: string;
83
- }
84
- export interface UserProfileProvider {
85
- id?: string;
86
- provider_user_id?: string;
87
- name?: string;
88
- }
89
- export interface UserProfile {
90
- name?: string;
91
- picture?: string;
92
- username?: string;
93
- email?: string;
94
- email_verified?: boolean;
95
- phone_number?: string;
96
- providers?: [UserProfileProvider];
97
- gender?: string;
98
- birthdate?: string;
99
- zoneinfo?: string;
100
- locale?: string;
101
- created_from?: string;
102
- }
103
- export interface ProviderProfile {
104
- provider_id: string;
105
- phone_number?: string;
106
- }
107
- export interface TransByProviderRequest {
108
- provider_token: string;
109
- }
110
- export interface GrantTokenRequest {
111
- client_secret?: string;
112
- code?: string;
113
- grant_type?: string;
114
- redirect_uri?: string;
115
- nonce?: string;
116
- refresh_token?: string;
117
- scope?: string;
118
- }
119
- export interface UnbindProviderRequest {
120
- provider_id: string;
121
- }
122
- export interface CheckPasswordrRequest {
123
- password: string;
124
- }
125
- export interface BindPhoneRequest {
126
- phone_number: string;
127
- sudo_token: string;
128
- verification_token: string;
129
- }
130
- export interface SetPasswordRequest {
131
- new_password: string;
132
- sudo_token: string;
133
- }
134
- export interface SetPasswordRequest {
135
- new_password: string;
136
- sudo_token: string;
137
- }
138
- export interface UpdatePasswordRequest {
139
- old_password: string;
140
- new_password: string;
141
- }
142
- export interface SudoRequest {
143
- password?: string;
144
- verification_token?: string;
145
- }
146
- export interface SudoResponse {
147
- sudo_token?: string;
148
- }
149
- export interface ChangeBoundProviderRequest {
150
- trans_token: string;
151
- provider_id: string;
152
- }
153
- export interface ChangeBoundProviderResponse {
154
- client_id: string;
155
- }
156
- export interface QueryUserProfileReq {
157
- appended_params: string;
158
- }
package/auth/models.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=models.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/auth/models.ts"],"names":[],"mappings":""}
@@ -1,45 +0,0 @@
1
- import { App, RequestOptions, RequestFn, Storage, OpenURIWithCallback } from "../app";
2
- export interface CaptchaOptions {
3
- request: RequestFn;
4
- storage: Storage;
5
- openURIWithCallback: OpenURIWithCallback;
6
- }
7
- export interface CaptchaInitOptions {
8
- request?: RequestFn;
9
- }
10
- export declare function getCaptcha(app: App, opts?: CaptchaInitOptions): Captcha;
11
- export interface CaptchaToken {
12
- captcha_token: string;
13
- expires_in: number;
14
- expires_at?: Date | null;
15
- }
16
- export interface CaptchaRequestOptions extends RequestOptions {
17
- withCaptcha?: boolean;
18
- }
19
- export interface GetCaptchaResponse {
20
- captcha_token?: string;
21
- expires_in?: number;
22
- url?: string;
23
- }
24
- export declare class Captcha {
25
- private _config;
26
- private _tokenSectionName;
27
- /**
28
- * constructor
29
- * @param {CaptchaOptions} opts
30
- */
31
- constructor(opts: CaptchaOptions);
32
- /**
33
- * request http like simple fetch api, exp:request('/v1/user/me', {withCredentials:true})
34
- * @param {string} url
35
- * @param {AuthClientRequestOptions} options
36
- */
37
- request<T>(url: string, options?: CaptchaRequestOptions): Promise<T>;
38
- /**
39
- * _getCaptchaToken get captcha token
40
- */
41
- private _getCaptchaToken;
42
- private _appendCaptchaTokenToURL;
43
- private _saveCaptchaToken;
44
- private _findCaptchaToken;
45
- }
package/captcha/index.js DELETED
@@ -1,133 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Captcha = exports.getCaptcha = void 0;
4
- const internal_1 = require("../app/internal");
5
- function getCaptcha(app, opts) {
6
- return internal_1._getComponent(app, "captcha", () => {
7
- const initOpts = {
8
- request: app.options.request,
9
- storage: app.options.storage,
10
- openURIWithCallback: app.options.openURIWithCallback,
11
- };
12
- if (opts && opts.request) {
13
- initOpts.request = opts.request;
14
- }
15
- return new Captcha(initOpts);
16
- });
17
- }
18
- exports.getCaptcha = getCaptcha;
19
- const GET_CAPTCHA_URL = '/auth/v1/captcha/init';
20
- class Captcha {
21
- /**
22
- * constructor
23
- * @param {CaptchaOptions} opts
24
- */
25
- constructor(opts) {
26
- this._config = opts;
27
- this._tokenSectionName = 'captcha_';
28
- }
29
- /**
30
- * request http like simple fetch api, exp:request('/v1/user/me', {withCredentials:true})
31
- * @param {string} url
32
- * @param {AuthClientRequestOptions} options
33
- */
34
- async request(url, options) {
35
- if (!options) {
36
- options = {};
37
- }
38
- if (!options.method) {
39
- options.method = 'GET';
40
- }
41
- const state = options.method + ":" + url;
42
- let reqURL = url;
43
- if (options.withCaptcha) {
44
- reqURL = await this._appendCaptchaTokenToURL(url, state, false);
45
- }
46
- try {
47
- return this._config.request(reqURL, options);
48
- }
49
- catch (err) {
50
- if (err.error === 'captcha_required' || err.error === 'captcha_invalid') {
51
- url = await this._appendCaptchaTokenToURL(url, state, err.error === 'captcha_invalid');
52
- return this._config.request(url, options);
53
- }
54
- else {
55
- return Promise.reject(err);
56
- }
57
- }
58
- }
59
- /**
60
- * _getCaptchaToken get captcha token
61
- */
62
- async _getCaptchaToken(forceNewToken, state) {
63
- if (!forceNewToken) {
64
- // if local has captcha token then return
65
- const captchaToken = await this._findCaptchaToken();
66
- if (captchaToken) {
67
- return captchaToken;
68
- }
69
- }
70
- const redirectURL = window.location.origin + window.location.pathname;
71
- const captchaTokenResp = await this._config.request(GET_CAPTCHA_URL, {
72
- method: 'POST',
73
- body: {
74
- redirect_uri: redirectURL,
75
- state: state
76
- },
77
- withBasicAuth: true,
78
- });
79
- if (captchaTokenResp.captcha_token) {
80
- const captchaToken = {
81
- captcha_token: captchaTokenResp.captcha_token,
82
- expires_in: captchaTokenResp.expires_in,
83
- };
84
- await this._saveCaptchaToken(captchaToken);
85
- return captchaTokenResp.captcha_token;
86
- }
87
- const callbackData = await this._config.openURIWithCallback(captchaTokenResp.url, { width: '355px', height: '355px' });
88
- const captchaToken = {
89
- captcha_token: callbackData.captcha_token,
90
- expires_in: Number(callbackData.expires_in)
91
- };
92
- await this._saveCaptchaToken(captchaToken);
93
- return captchaToken.captcha_token;
94
- }
95
- async _appendCaptchaTokenToURL(url, state, forceNewToken) {
96
- const captchaToken = await this._getCaptchaToken(forceNewToken, state);
97
- if (url.indexOf("?") > 0) {
98
- url += "&captcha_token=" + captchaToken;
99
- }
100
- else {
101
- url += "?captcha_token=" + captchaToken;
102
- }
103
- return url;
104
- }
105
- async _saveCaptchaToken(token) {
106
- token.expires_at = new Date(Date.now() + (token.expires_in - 10) * 1000);
107
- const tokenStr = JSON.stringify(token);
108
- await this._config.storage.setItem(this._tokenSectionName, tokenStr);
109
- }
110
- async _findCaptchaToken() {
111
- const tokenStr = await this._config.storage.getItem(this._tokenSectionName);
112
- if (tokenStr !== undefined && tokenStr !== null) {
113
- try {
114
- const captchaToken = JSON.parse(tokenStr);
115
- if (captchaToken && captchaToken.expires_at) {
116
- captchaToken.expires_at = new Date(captchaToken.expires_at);
117
- }
118
- const isExpired = captchaToken.expires_at < new Date();
119
- if (isExpired) {
120
- return null;
121
- }
122
- return captchaToken.captcha_token;
123
- }
124
- catch (error) {
125
- await this._config.storage.removeItem(this._tokenSectionName);
126
- return null;
127
- }
128
- }
129
- return null;
130
- }
131
- }
132
- exports.Captcha = Captcha;
133
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/captcha/index.ts"],"names":[],"mappings":"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"}
package/index.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import { Auth } from './auth';
2
- import { App, Options } from './app';
3
- export declare function initializeClient(options: Options): Client;
4
- export declare class Client {
5
- auth: Auth;
6
- app: App;
7
- constructor(initOptions: Options);
8
- }
package/index.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Client = exports.initializeClient = void 0;
4
- const auth_1 = require("./auth");
5
- const app_1 = require("./app");
6
- function initializeClient(options) {
7
- return new Client(options);
8
- }
9
- exports.initializeClient = initializeClient;
10
- class Client {
11
- constructor(initOptions) {
12
- this.app = app_1.initializeApp(initOptions);
13
- this.auth = auth_1.getAuth(this.app);
14
- }
15
- }
16
- exports.Client = Client;
17
- //# sourceMappingURL=index.js.map
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAqC;AACrC,+BAAkD;AAElD,SAAgB,gBAAgB,CAAC,OAAgB;IAC7C,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAFD,4CAEC;AAED,MAAa,MAAM;IAIf,YAAY,WAAoB;QAC5B,IAAI,CAAC,GAAG,GAAG,mBAAa,CAAC,WAAW,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI,GAAG,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;CACJ;AARD,wBAQC"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorType = exports.Syntax = void 0;
4
- var Syntax;
5
- (function (Syntax) {
6
- Syntax["CLIENT_ID"] = "client_id";
7
- Syntax["CLIENT_SECRET"] = "client_secret";
8
- Syntax["RESPONSE_TYPE"] = "response_type";
9
- Syntax["SCOPE"] = "scope";
10
- Syntax["STATE"] = "state";
11
- Syntax["REDIRECT_URI"] = "redirect_uri";
12
- Syntax["ERROR"] = "error";
13
- Syntax["ERROR_DESCRIPTION"] = "error_description";
14
- Syntax["ERROR_URI"] = "error_uri";
15
- Syntax["GRANT_TYPE"] = "grant_type";
16
- Syntax["CODE"] = "code";
17
- Syntax["ACCESS_TOKEN"] = "access_token";
18
- Syntax["TOKEN_TYPE"] = "token_type";
19
- Syntax["EXPIRES_IN"] = "expires_in";
20
- Syntax["USERNAME"] = "username";
21
- Syntax["PASSWORD"] = "password";
22
- Syntax["REFRESH_TOKEN"] = "refresh_token";
23
- })(Syntax = exports.Syntax || (exports.Syntax = {}));
24
- var ErrorType;
25
- (function (ErrorType) {
26
- ErrorType["UNREACHABLE"] = "unreachable";
27
- ErrorType["LOCAL"] = "local";
28
- ErrorType["CANCELLED"] = "cancelled";
29
- ErrorType["UNKNOWN"] = "unknown";
30
- ErrorType["INVALID_ARGUMENT"] = "invalid_argument";
31
- ErrorType["DEADLINE_EXCEEDED"] = "deadline_exceeded";
32
- ErrorType["NOT_FOUND"] = "not_found";
33
- ErrorType["ALREADY_EXISTS"] = "already_exists";
34
- ErrorType["PERMISSION_DENIED"] = "permission_denied";
35
- ErrorType["UNAUTHENTICATED"] = "unauthenticated";
36
- ErrorType["RESOURCE_EXHAUSTED"] = "resource_exhausted";
37
- ErrorType["FAILED_PRECONDITION"] = "failed_precondition";
38
- ErrorType["ABORTED"] = "aborted";
39
- ErrorType["OUT_OF_RANGE"] = "out_of_range";
40
- ErrorType["UNIMPLEMENTED"] = "unimplemented";
41
- ErrorType["INTERNAL"] = "internal";
42
- ErrorType["UNAVAILABLE"] = "unavailable";
43
- ErrorType["DATA_LOSS"] = "data_loss";
44
- // CommonError
45
- ErrorType["ACCESS_DENIED"] = "access_denied";
46
- ErrorType["UNSUPPORTED_RESPONSE_TYPE"] = "unsupported_response_type";
47
- ErrorType["INVALID_SCOPE"] = "invalid_scope";
48
- ErrorType["INVALID_GRANT"] = "invalid_grant";
49
- ErrorType["SERVER_ERROR"] = "server_error";
50
- ErrorType["TEMPORARILY_UNAVAILABLE"] = "temporarily_unavailable";
51
- ErrorType["INTERACTION_REQUIRED"] = "interaction_required";
52
- })(ErrorType = exports.ErrorType || (exports.ErrorType = {}));
53
- //# sourceMappingURL=consts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/oauthclient/consts.ts"],"names":[],"mappings":";;;AAAA,IAAY,MAkBX;AAlBD,WAAY,MAAM;IACd,iCAAuB,CAAA;IACvB,yCAA+B,CAAA;IAC/B,yCAA+B,CAAA;IAC/B,yBAAe,CAAA;IACf,yBAAe,CAAA;IACf,uCAA6B,CAAA;IAC7B,yBAAe,CAAA;IACf,iDAAuC,CAAA;IACvC,iCAAuB,CAAA;IACvB,mCAAyB,CAAA;IACzB,uBAAa,CAAA;IACb,uCAA6B,CAAA;IAC7B,mCAAyB,CAAA;IACzB,mCAAyB,CAAA;IACzB,+BAAqB,CAAA;IACrB,+BAAqB,CAAA;IACrB,yCAA+B,CAAA;AACnC,CAAC,EAlBW,MAAM,GAAN,cAAM,KAAN,cAAM,QAkBjB;AAED,IAAY,SA2BX;AA3BD,WAAY,SAAS;IACjB,wCAA2B,CAAA;IAC3B,4BAAe,CAAA;IACf,oCAAuB,CAAA;IACvB,gCAAmB,CAAA;IACnB,kDAAqC,CAAA;IACrC,oDAAuC,CAAA;IACvC,oCAAuB,CAAA;IACvB,8CAAiC,CAAA;IACjC,oDAAuC,CAAA;IACvC,gDAAmC,CAAA;IACnC,sDAAyC,CAAA;IACzC,wDAA2C,CAAA;IAC3C,gCAAmB,CAAA;IACnB,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;IACrB,wCAA2B,CAAA;IAC3B,oCAAuB,CAAA;IACvB,cAAc;IACd,4CAA+B,CAAA;IAC/B,oEAAuD,CAAA;IACvD,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,gEAAmD,CAAA;IACnD,0DAA6C,CAAA;AACjD,CAAC,EA3BW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QA2BpB"}
@@ -1,18 +0,0 @@
1
- import { App } from "../app";
2
- import { Credentials as credentials, ResponseError as responseError } from './models';
3
- import { AuthClient as authClient, RequestFn as requestFn } from "./interface";
4
- export { ErrorType } from './consts';
5
- export interface InitOptions {
6
- request?: RequestFn;
7
- retry?: number;
8
- refreshTokenFunc?: (refreshToken?: string) => Promise<Credentials>;
9
- tokenInURL?: boolean;
10
- headers?: {
11
- [key: string]: string;
12
- };
13
- }
14
- export declare function getOAuthClient(app: App, opts?: InitOptions): authClient;
15
- export declare type Credentials = credentials;
16
- export declare type AuthClient = authClient;
17
- export declare type RequestFn = requestFn;
18
- export declare type ResponseError = responseError;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOAuthClient = void 0;
4
- const internal_1 = require("../app/internal");
5
- const oauthclient_1 = require("./oauthclient");
6
- var consts_1 = require("./consts");
7
- Object.defineProperty(exports, "ErrorType", { enumerable: true, get: function () { return consts_1.ErrorType; } });
8
- function getOAuthClient(app, opts) {
9
- return internal_1._getComponent(app, "oauthclient", () => {
10
- const appOpts = app.options;
11
- const oauthOpts = {
12
- clientId: appOpts.clientId,
13
- clientSecret: appOpts.clientSecret,
14
- request: appOpts.request,
15
- storage: appOpts.storage,
16
- };
17
- return (new oauthclient_1.OAuth2Client(oauthOpts));
18
- });
19
- }
20
- exports.getOAuthClient = getOAuthClient;
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/oauthclient/index.ts"],"names":[],"mappings":";;;AACA,8CAA8C;AAC9C,+CAA2C;AAG3C,mCAAmC;AAA3B,mGAAA,SAAS,OAAA;AAUjB,SAAgB,cAAc,CAAC,GAAQ,EAAE,IAAkB;IACvD,OAAO,wBAAa,CAAa,GAAG,EAAE,aAAa,EAAE,GAAe,EAAE;QAClE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;QAC3B,MAAM,SAAS,GAAG;YACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAA;QACD,OAAO,CAAC,IAAI,0BAAY,CAAC,SAAS,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAC;AACP,CAAC;AAXD,wCAWC"}
@@ -1,25 +0,0 @@
1
- import { Credentials, AuthClientRequestOptions } from './models';
2
- /**
3
- * the interface for the Oauth2Client
4
- */
5
- export declare abstract class AuthClient {
6
- /**
7
- * Sets the auth credentials.
8
- */
9
- abstract setCredentials(credentials?: Credentials): void;
10
- /**
11
- * Provides an alternative fetch api request implementation with auth credentials
12
- * if options.withCredentials:true, the request will auto add Authorization: Bearer <AccessToken> in the request
13
- * error:
14
- * - unreachable, the network error or response is not json
15
- * - unauthenticated: has no validate access token
16
- */
17
- abstract request: RequestFn;
18
- /**
19
- * get the current accessToken from AuthClient, you can use this to detect login status
20
- * error:
21
- * - unauthenticated: has no validate access token
22
- */
23
- abstract getAccessToken(): Promise<string>;
24
- }
25
- export declare type RequestFn = <T>(url: string, options?: AuthClientRequestOptions) => Promise<T>;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthClient = void 0;
4
- /**
5
- * the interface for the Oauth2Client
6
- */
7
- class AuthClient {
8
- }
9
- exports.AuthClient = AuthClient;
10
- //# sourceMappingURL=interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/oauthclient/interface.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAsB,UAAU;CAqB/B;AArBD,gCAqBC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=models.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/oauthclient/models.ts"],"names":[],"mappings":""}
@@ -1,142 +0,0 @@
1
- import { ErrorType } from './consts';
2
- import { AuthClient } from './interface';
3
- import { Storage } from "../app";
4
- import { Credentials, ResponseError, OAuth2ClientOptions, AuthClientRequestOptions } from './models';
5
- export interface ToResponseErrorOptions {
6
- error?: ErrorType;
7
- error_description?: string | null;
8
- error_uri?: string | null;
9
- details?: any | null;
10
- }
11
- export declare const toResponseError: (error: ResponseError | Error, options?: ToResponseErrorOptions) => ResponseError;
12
- /**
13
- * Generate request id.
14
- * @return {string}
15
- */
16
- export declare function generateRequestId(): string;
17
- interface LocalCredentialsOptions {
18
- tokenSectionName: string;
19
- storage: Storage;
20
- }
21
- /**
22
- * Local credentials.
23
- * Local credentials, with memory cache and storage cache.
24
- * If the memory cache expires, the storage cache is automatically loaded.
25
- */
26
- export declare class LocalCredentials {
27
- private _tokenSectionName;
28
- private _storage;
29
- private _credentials;
30
- private _singlePromise;
31
- /**
32
- * constructor
33
- * @param {LocalCredentialsOptions} options
34
- */
35
- constructor(options: LocalCredentialsOptions);
36
- /**
37
- * setCredentials Provides an alternative fetch api request implementation with auth credentials
38
- * @param {Credentials} credentials
39
- */
40
- setCredentials(credentials?: Credentials): Promise<void>;
41
- /**
42
- * Get credentials.
43
- * @return {Promise<Credentials | null>}
44
- */
45
- getCredentials(): Promise<Credentials | null>;
46
- /**
47
- * Get storage credentials.
48
- */
49
- private _getStorageCredentials;
50
- }
51
- /**
52
- * OAuth2Client
53
- */
54
- export declare class OAuth2Client implements AuthClient {
55
- private static _defaultRetry;
56
- private static _minRetry;
57
- private static _maxRetry;
58
- private static _retryInterval;
59
- private _retry;
60
- private _baseRequest;
61
- private _basicAuth?;
62
- private _localCredentials;
63
- private _storage;
64
- private _deviceID?;
65
- private _tokenInURL?;
66
- private _refreshTokenFunc;
67
- private _headers?;
68
- private _singlePromise;
69
- /**
70
- * constructor
71
- * @param {OAuth2ClientOptions} options
72
- */
73
- constructor(options: OAuth2ClientOptions);
74
- /**
75
- * setCredentials Provides an alternative fetch api request implementation with auth credentials
76
- * @param {Credentials} credentials
77
- * @return {Promise<void>}
78
- */
79
- setCredentials(credentials?: Credentials): Promise<void>;
80
- /**
81
- * getAccessToken return a validate access token
82
- */
83
- getAccessToken(): Promise<string>;
84
- /**
85
- * request http like simple fetch api, exp:request('/v1/user/me', {withCredentials:true})
86
- * @param {string} url
87
- * @param {AuthClientRequestOptions} options
88
- */
89
- request<T>(url: string, options?: AuthClientRequestOptions): Promise<T>;
90
- /**
91
- * Check retry value.
92
- * @param {number} retry
93
- * @return {number}
94
- */
95
- private _checkRetry;
96
- /**
97
- * Format retry value.
98
- * @param {number} retry
99
- * @param {number} defaultVale
100
- * @return {number}
101
- */
102
- private _formatRetry;
103
- /**
104
- * Sleep.
105
- * @param {number} ms
106
- * @return {Promise<void>}
107
- */
108
- private _sleep;
109
- /**
110
- * Refresh expired token.
111
- * @param {Credentials} credentials
112
- * @return {Promise<Credentials>}
113
- */
114
- private _refreshToken;
115
- /**
116
- * anonymous signIn
117
- * @param {Credentials} credentials
118
- * @return {Promise<Credentials>}
119
- */
120
- private _anonymousSignIn;
121
- /**
122
- * Default refresh token function.
123
- * @param {string} refreshToken
124
- * @return {Promise<Credentials>}
125
- */
126
- private _defaultRefreshTokenFunc;
127
- /**
128
- * Get credentials.
129
- */
130
- private _getCredentials;
131
- /**
132
- * Get deviceId
133
- */
134
- private _getDeviceId;
135
- /**
136
- * Generate unAuthenticated error.
137
- * @param {string} err
138
- * @return {Promise<T>}
139
- */
140
- private _unAuthenticatedError;
141
- }
142
- export {};