@gasboost/auth 0.5.0 → 0.6.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.
package/README.md
CHANGED
|
@@ -258,6 +258,51 @@ User 検索
|
|
|
258
258
|
Session 発行
|
|
259
259
|
```
|
|
260
260
|
|
|
261
|
+
## Registration (without Session)
|
|
262
|
+
|
|
263
|
+
`auth.registration` は、Session を発行せずに
|
|
264
|
+
User と Account を登録するサーバー内部APIです。
|
|
265
|
+
|
|
266
|
+
管理者によるユーザー登録など、
|
|
267
|
+
登録対象ユーザーとしてサインインする必要がない場合に使用します。
|
|
268
|
+
|
|
269
|
+
### Email / Password
|
|
270
|
+
|
|
271
|
+
```ts
|
|
272
|
+
const user = await auth.registration.email({
|
|
273
|
+
name: "Taro",
|
|
274
|
+
email: "taro@example.com",
|
|
275
|
+
password: temporaryPassword,
|
|
276
|
+
});
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Apps Script
|
|
280
|
+
|
|
281
|
+
```ts
|
|
282
|
+
const user = await auth.registration.appsScript({
|
|
283
|
+
name: "Taro",
|
|
284
|
+
});
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Apps Script方式では
|
|
288
|
+
`Session.getActiveUser().getEmail()` を使用するため、
|
|
289
|
+
任意の他ユーザーを指定して登録することはできません。
|
|
290
|
+
|
|
291
|
+
### Sign Upとの違い
|
|
292
|
+
|
|
293
|
+
| API | User + Account | Session発行 |
|
|
294
|
+
| -------------------------------- | -------------- | ----------- |
|
|
295
|
+
| `auth.registration.email()` | 作成 | なし |
|
|
296
|
+
| `auth.registration.appsScript()` | 作成 | なし |
|
|
297
|
+
| `auth.signUp.email()` | 作成 | あり |
|
|
298
|
+
| `auth.signUp.appsScript()` | 作成 | あり |
|
|
299
|
+
|
|
300
|
+
`isSignupEnabled: false` でも、
|
|
301
|
+
認証方式自体が `enabled: true` ならRegistrationは利用できます。
|
|
302
|
+
|
|
303
|
+
Registrationはメール送信やRole付与を行いません。
|
|
304
|
+
呼び出し元で認証・認可を実施してください。
|
|
305
|
+
|
|
261
306
|
## Apps Script Sign Up
|
|
262
307
|
|
|
263
308
|
Apps Script 認証では `Session.getActiveUser().getEmail()` を Identity として利用します。
|
package/dist/AppsScriptAuth.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AppsScriptAuthPassword } from "./api/AppsScriptAuthPassword";
|
|
2
|
+
import { AppsScriptAuthRegistration } from "./api/AppsScriptAuthRegistration";
|
|
2
3
|
import { AppsScriptAuthSession } from "./api/AppsScriptAuthSession";
|
|
3
4
|
import { AppsScriptAuthSignIn } from "./api/AppsScriptAuthSignIn";
|
|
4
5
|
import { AppsScriptAuthSignOut } from "./api/AppsScriptAuthSignOut";
|
|
@@ -35,6 +36,7 @@ export declare class AppsScriptAuth<TEmailPassword extends EmailPasswordAuthOpti
|
|
|
35
36
|
readonly session: AppsScriptAuthSession;
|
|
36
37
|
readonly signOut: AppsScriptAuthSignOut;
|
|
37
38
|
readonly password: AppsScriptAuthPasswordApi<TEmailPassword>;
|
|
39
|
+
readonly registration: AppsScriptAuthRegistration;
|
|
38
40
|
constructor({ repository, session, runtime, emailPassword, appsScript, hooks, }: AppsScriptAuthConfig<TEmailPassword, THookResult>);
|
|
39
41
|
}
|
|
40
42
|
export {};
|
package/dist/AppsScriptAuth.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AppsScriptAuth = void 0;
|
|
4
4
|
const AppsScriptAuthPassword_1 = require("./api/AppsScriptAuthPassword");
|
|
5
|
+
const AppsScriptAuthRegistration_1 = require("./api/AppsScriptAuthRegistration");
|
|
5
6
|
const AppsScriptAuthSession_1 = require("./api/AppsScriptAuthSession");
|
|
6
7
|
const AppsScriptAuthSignIn_1 = require("./api/AppsScriptAuthSignIn");
|
|
7
8
|
const AppsScriptAuthSignOut_1 = require("./api/AppsScriptAuthSignOut");
|
|
@@ -15,6 +16,7 @@ class AppsScriptAuth {
|
|
|
15
16
|
session;
|
|
16
17
|
signOut;
|
|
17
18
|
password;
|
|
19
|
+
registration;
|
|
18
20
|
constructor({ repository, session, runtime, emailPassword, appsScript, hooks, }) {
|
|
19
21
|
const sessionStorage = (0, sessionStorageFactory_1.sessionStorageFactory)(session.storageType, {
|
|
20
22
|
cacheService: runtime.cacheService,
|
|
@@ -61,6 +63,13 @@ class AppsScriptAuth {
|
|
|
61
63
|
emailPassword: emailPasswordConfig,
|
|
62
64
|
})
|
|
63
65
|
: undefined);
|
|
66
|
+
this.registration = new AppsScriptAuthRegistration_1.AppsScriptAuthRegistration({
|
|
67
|
+
emailPassword: emailPasswordConfig,
|
|
68
|
+
appsScript: appsScriptConfig,
|
|
69
|
+
repository,
|
|
70
|
+
utilities: runtime.utilities,
|
|
71
|
+
session: runtime.session,
|
|
72
|
+
});
|
|
64
73
|
}
|
|
65
74
|
}
|
|
66
75
|
exports.AppsScriptAuth = AppsScriptAuth;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AppsScriptAuthenticationConfig } from "../authentication/AppsScriptAuthentication";
|
|
2
|
+
import type { EmailPasswordAuthConfig } from "../authentication/EmailPasswordAuthentication";
|
|
3
|
+
import type { User } from "../domain/User";
|
|
4
|
+
import { type AppsScriptRegistrationInput } from "../registration/AppsScriptRegistration";
|
|
5
|
+
import { type EmailPasswordRegistrationInput } from "../registration/EmailPasswordRegistration";
|
|
6
|
+
import type { AppsScriptAuthRepository } from "../storage/AppsScriptAuthRepository";
|
|
7
|
+
export declare class AppsScriptAuthRegistration {
|
|
8
|
+
private readonly emailPasswordRegistration?;
|
|
9
|
+
private readonly appsScriptRegistration?;
|
|
10
|
+
constructor({ emailPassword, appsScript, repository, utilities, session, }: {
|
|
11
|
+
emailPassword?: EmailPasswordAuthConfig;
|
|
12
|
+
appsScript?: AppsScriptAuthenticationConfig;
|
|
13
|
+
repository: AppsScriptAuthRepository;
|
|
14
|
+
utilities: GoogleAppsScript.Utilities.Utilities;
|
|
15
|
+
session: GoogleAppsScript.Base.Session;
|
|
16
|
+
});
|
|
17
|
+
email(input: EmailPasswordRegistrationInput): Promise<User>;
|
|
18
|
+
appsScript(input: AppsScriptRegistrationInput): Promise<User>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppsScriptAuthRegistration = void 0;
|
|
4
|
+
const AppsScriptRegistration_1 = require("../registration/AppsScriptRegistration");
|
|
5
|
+
const EmailPasswordRegistration_1 = require("../registration/EmailPasswordRegistration");
|
|
6
|
+
class AppsScriptAuthRegistration {
|
|
7
|
+
emailPasswordRegistration;
|
|
8
|
+
appsScriptRegistration;
|
|
9
|
+
constructor({ emailPassword, appsScript, repository, utilities, session, }) {
|
|
10
|
+
if (emailPassword?.enabled) {
|
|
11
|
+
this.emailPasswordRegistration = new EmailPasswordRegistration_1.EmailPasswordRegistration(repository, utilities, emailPassword);
|
|
12
|
+
}
|
|
13
|
+
if (appsScript?.enabled) {
|
|
14
|
+
this.appsScriptRegistration = new AppsScriptRegistration_1.AppsScriptRegistration(utilities, session, repository);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
async email(input) {
|
|
18
|
+
if (!this.emailPasswordRegistration) {
|
|
19
|
+
throw new Error("Email and password authentication is disabled");
|
|
20
|
+
}
|
|
21
|
+
return this.emailPasswordRegistration.register(input);
|
|
22
|
+
}
|
|
23
|
+
async appsScript(input) {
|
|
24
|
+
if (!this.appsScriptRegistration) {
|
|
25
|
+
throw new Error("Apps Script authentication is disabled");
|
|
26
|
+
}
|
|
27
|
+
return this.appsScriptRegistration.register(input);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.AppsScriptAuthRegistration = AppsScriptAuthRegistration;
|
package/package.json
CHANGED