Spaces:
Sleeping
Sleeping
chore: refactor into getSCIMToken
Browse filesSigned-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>
- src/resources/(groups)/[groupId]/index.ts +2 -1
- src/resources/(groups)/index.ts +2 -1
- src/resources/(users)/[userId]/index.ts +2 -1
- src/resources/(users)/index.ts +2 -1
- src/tools/addUserToGroup.ts +2 -1
- src/tools/createGroup.ts +3 -2
- src/tools/createUser.ts +2 -1
- src/tools/deleteGroup.ts +2 -1
- src/tools/deleteUser.ts +2 -1
- src/tools/patchGroup.ts +3 -2
- src/tools/patchUser.ts +3 -2
- src/tools/removeUserFromGroup.ts +2 -1
- src/tools/replaceGroup.ts +3 -2
- src/tools/replaceUser.ts +3 -2
- src/utils/getSCIMApiKey.ts +17 -0
src/resources/(groups)/[groupId]/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import { type InferSchema, type ResourceMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
|
|
|
| 4 |
|
| 5 |
export const schema = {
|
| 6 |
groupId: z.string().describe("The ID of the group"),
|
|
@@ -30,7 +31,7 @@ export default async function handler({
|
|
| 30 |
excludedAttributes,
|
| 31 |
}: InferSchema<typeof schema>) {
|
| 32 |
const requestHeaders = headers();
|
| 33 |
-
const apiToken = requestHeaders
|
| 34 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 35 |
|
| 36 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ResourceMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { getScimToken } from "../../../utils/getSCIMApiKey";
|
| 5 |
|
| 6 |
export const schema = {
|
| 7 |
groupId: z.string().describe("The ID of the group"),
|
|
|
|
| 31 |
excludedAttributes,
|
| 32 |
}: InferSchema<typeof schema>) {
|
| 33 |
const requestHeaders = headers();
|
| 34 |
+
const apiToken = getScimToken(requestHeaders);
|
| 35 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 36 |
|
| 37 |
if (!apiToken) {
|
src/resources/(groups)/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import { type InferSchema, type ResourceMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
|
|
|
| 4 |
|
| 5 |
export const schema = {
|
| 6 |
filter: z
|
|
@@ -35,7 +36,7 @@ export default async function handler({
|
|
| 35 |
count,
|
| 36 |
}: InferSchema<typeof schema>) {
|
| 37 |
const requestHeaders = headers();
|
| 38 |
-
const apiToken = requestHeaders
|
| 39 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 40 |
|
| 41 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ResourceMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { getScimToken } from "../../utils/getSCIMApiKey";
|
| 5 |
|
| 6 |
export const schema = {
|
| 7 |
filter: z
|
|
|
|
| 36 |
count,
|
| 37 |
}: InferSchema<typeof schema>) {
|
| 38 |
const requestHeaders = headers();
|
| 39 |
+
const apiToken = getScimToken(requestHeaders);
|
| 40 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 41 |
|
| 42 |
if (!apiToken) {
|
src/resources/(users)/[userId]/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import { type InferSchema, type ResourceMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
|
|
|
| 4 |
|
| 5 |
export const schema = {
|
| 6 |
userId: z.string().describe("The ID of the user"),
|
|
@@ -30,7 +31,7 @@ export default async function handler({
|
|
| 30 |
excludedAttributes,
|
| 31 |
}: InferSchema<typeof schema>) {
|
| 32 |
const requestHeaders = headers();
|
| 33 |
-
const apiToken = requestHeaders
|
| 34 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 35 |
|
| 36 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ResourceMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { getScimToken } from "../../../utils/getSCIMApiKey";
|
| 5 |
|
| 6 |
export const schema = {
|
| 7 |
userId: z.string().describe("The ID of the user"),
|
|
|
|
| 31 |
excludedAttributes,
|
| 32 |
}: InferSchema<typeof schema>) {
|
| 33 |
const requestHeaders = headers();
|
| 34 |
+
const apiToken = getScimToken(requestHeaders);
|
| 35 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 36 |
|
| 37 |
if (!apiToken) {
|
src/resources/(users)/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import { type InferSchema, type ResourceMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
|
|
|
| 4 |
|
| 5 |
export const schema = {
|
| 6 |
filter: z
|
|
@@ -35,7 +36,7 @@ export default async function handler({
|
|
| 35 |
count,
|
| 36 |
}: InferSchema<typeof schema>) {
|
| 37 |
const requestHeaders = headers();
|
| 38 |
-
const apiToken = requestHeaders
|
| 39 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 40 |
|
| 41 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ResourceMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { getScimToken } from "../../utils/getSCIMApiKey";
|
| 5 |
|
| 6 |
export const schema = {
|
| 7 |
filter: z
|
|
|
|
| 36 |
count,
|
| 37 |
}: InferSchema<typeof schema>) {
|
| 38 |
const requestHeaders = headers();
|
| 39 |
+
const apiToken = getScimToken(requestHeaders);
|
| 40 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 41 |
|
| 42 |
if (!apiToken) {
|
src/tools/addUserToGroup.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
|
|
|
| 4 |
import { readJsonBody } from "../utils/responseBody";
|
| 5 |
|
| 6 |
export const metadata: ToolMetadata = {
|
|
@@ -24,7 +25,7 @@ export default async function addUserToGroup(
|
|
| 24 |
params: InferSchema<typeof schema>
|
| 25 |
) {
|
| 26 |
const requestHeaders = headers();
|
| 27 |
-
const apiToken = requestHeaders
|
| 28 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 29 |
|
| 30 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { getScimToken } from "../utils/getSCIMApiKey";
|
| 5 |
import { readJsonBody } from "../utils/responseBody";
|
| 6 |
|
| 7 |
export const metadata: ToolMetadata = {
|
|
|
|
| 25 |
params: InferSchema<typeof schema>
|
| 26 |
) {
|
| 27 |
const requestHeaders = headers();
|
| 28 |
+
const apiToken = getScimToken(requestHeaders);
|
| 29 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 30 |
|
| 31 |
if (!apiToken) {
|
src/tools/createGroup.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
-
import { groupResourceSchema } from "../schemas/groupResourceSchema";
|
| 4 |
import { z } from "zod";
|
|
|
|
|
|
|
| 5 |
import { readJsonBody } from "../utils/responseBody";
|
| 6 |
|
| 7 |
export const metadata: ToolMetadata = {
|
|
@@ -30,7 +31,7 @@ export default async function createGroup(
|
|
| 30 |
) {
|
| 31 |
const { groupResource } = params;
|
| 32 |
const requestHeaders = headers();
|
| 33 |
-
const apiToken = requestHeaders
|
| 34 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 35 |
|
| 36 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
|
|
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { groupResourceSchema } from "../schemas/groupResourceSchema";
|
| 5 |
+
import { getScimToken } from "../utils/getSCIMApiKey";
|
| 6 |
import { readJsonBody } from "../utils/responseBody";
|
| 7 |
|
| 8 |
export const metadata: ToolMetadata = {
|
|
|
|
| 31 |
) {
|
| 32 |
const { groupResource } = params;
|
| 33 |
const requestHeaders = headers();
|
| 34 |
+
const apiToken = getScimToken(requestHeaders);
|
| 35 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 36 |
|
| 37 |
if (!apiToken) {
|
src/tools/createUser.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { type InferSchema, type ToolMetadata } from "xmcp";
|
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
| 4 |
import { userResourceSchema } from "../schemas/userResourceSchema";
|
|
|
|
| 5 |
import { readJsonBody } from "../utils/responseBody";
|
| 6 |
|
| 7 |
export const metadata: ToolMetadata = {
|
|
@@ -30,7 +31,7 @@ export default async function createUser(
|
|
| 30 |
) {
|
| 31 |
const { userResource } = params;
|
| 32 |
const requestHeaders = headers();
|
| 33 |
-
const apiToken = requestHeaders
|
| 34 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 35 |
|
| 36 |
if (!apiToken) {
|
|
|
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
| 4 |
import { userResourceSchema } from "../schemas/userResourceSchema";
|
| 5 |
+
import { getScimToken } from "../utils/getSCIMApiKey";
|
| 6 |
import { readJsonBody } from "../utils/responseBody";
|
| 7 |
|
| 8 |
export const metadata: ToolMetadata = {
|
|
|
|
| 31 |
) {
|
| 32 |
const { userResource } = params;
|
| 33 |
const requestHeaders = headers();
|
| 34 |
+
const apiToken = getScimToken(requestHeaders);
|
| 35 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 36 |
|
| 37 |
if (!apiToken) {
|
src/tools/deleteGroup.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
|
|
|
| 4 |
|
| 5 |
export const metadata: ToolMetadata = {
|
| 6 |
name: "delete-group",
|
|
@@ -22,7 +23,7 @@ export default async function deleteGroup(
|
|
| 22 |
params: InferSchema<typeof schema>
|
| 23 |
) {
|
| 24 |
const requestHeaders = headers();
|
| 25 |
-
const apiToken = requestHeaders
|
| 26 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 27 |
|
| 28 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { getScimToken } from "../utils/getSCIMApiKey";
|
| 5 |
|
| 6 |
export const metadata: ToolMetadata = {
|
| 7 |
name: "delete-group",
|
|
|
|
| 23 |
params: InferSchema<typeof schema>
|
| 24 |
) {
|
| 25 |
const requestHeaders = headers();
|
| 26 |
+
const apiToken = getScimToken(requestHeaders);
|
| 27 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 28 |
|
| 29 |
if (!apiToken) {
|
src/tools/deleteUser.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
|
|
|
| 4 |
|
| 5 |
export const metadata: ToolMetadata = {
|
| 6 |
name: "delete-user",
|
|
@@ -22,7 +23,7 @@ export default async function deleteUser(
|
|
| 22 |
params: InferSchema<typeof schema>
|
| 23 |
) {
|
| 24 |
const requestHeaders = headers();
|
| 25 |
-
const apiToken = requestHeaders
|
| 26 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 27 |
|
| 28 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { getScimToken } from "../utils/getSCIMApiKey";
|
| 5 |
|
| 6 |
export const metadata: ToolMetadata = {
|
| 7 |
name: "delete-user",
|
|
|
|
| 23 |
params: InferSchema<typeof schema>
|
| 24 |
) {
|
| 25 |
const requestHeaders = headers();
|
| 26 |
+
const apiToken = getScimToken(requestHeaders);
|
| 27 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 28 |
|
| 29 |
if (!apiToken) {
|
src/tools/patchGroup.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
-
import { patchOperationSchema } from "../schemas/patchOperationSchema";
|
| 4 |
import { z } from "zod";
|
|
|
|
|
|
|
| 5 |
import { readJsonBody } from "../utils/responseBody";
|
| 6 |
|
| 7 |
export const metadata: ToolMetadata = {
|
|
@@ -25,7 +26,7 @@ export default async function patchGroup(
|
|
| 25 |
params: InferSchema<typeof schema>
|
| 26 |
) {
|
| 27 |
const requestHeaders = headers();
|
| 28 |
-
const apiToken = requestHeaders
|
| 29 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 30 |
|
| 31 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
|
|
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { patchOperationSchema } from "../schemas/patchOperationSchema";
|
| 5 |
+
import { getScimToken } from "../utils/getSCIMApiKey";
|
| 6 |
import { readJsonBody } from "../utils/responseBody";
|
| 7 |
|
| 8 |
export const metadata: ToolMetadata = {
|
|
|
|
| 26 |
params: InferSchema<typeof schema>
|
| 27 |
) {
|
| 28 |
const requestHeaders = headers();
|
| 29 |
+
const apiToken = getScimToken(requestHeaders);
|
| 30 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 31 |
|
| 32 |
if (!apiToken) {
|
src/tools/patchUser.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
-
import { patchOperationSchema } from "../schemas/patchOperationSchema";
|
| 4 |
import { z } from "zod";
|
|
|
|
|
|
|
| 5 |
import { readJsonBody } from "../utils/responseBody";
|
| 6 |
|
| 7 |
export const metadata: ToolMetadata = {
|
|
@@ -25,7 +26,7 @@ export default async function patchUser(
|
|
| 25 |
params: InferSchema<typeof schema>
|
| 26 |
) {
|
| 27 |
const requestHeaders = headers();
|
| 28 |
-
const apiToken = requestHeaders
|
| 29 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 30 |
|
| 31 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
|
|
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { patchOperationSchema } from "../schemas/patchOperationSchema";
|
| 5 |
+
import { getScimToken } from "../utils/getSCIMApiKey";
|
| 6 |
import { readJsonBody } from "../utils/responseBody";
|
| 7 |
|
| 8 |
export const metadata: ToolMetadata = {
|
|
|
|
| 26 |
params: InferSchema<typeof schema>
|
| 27 |
) {
|
| 28 |
const requestHeaders = headers();
|
| 29 |
+
const apiToken = getScimToken(requestHeaders);
|
| 30 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 31 |
|
| 32 |
if (!apiToken) {
|
src/tools/removeUserFromGroup.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
|
|
|
| 4 |
import { readJsonBody } from "../utils/responseBody";
|
| 5 |
|
| 6 |
export const metadata: ToolMetadata = {
|
|
@@ -24,7 +25,7 @@ export default async function removeUserFromGroup(
|
|
| 24 |
params: InferSchema<typeof schema>
|
| 25 |
) {
|
| 26 |
const requestHeaders = headers();
|
| 27 |
-
const apiToken = requestHeaders
|
| 28 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 29 |
|
| 30 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { getScimToken } from "../utils/getSCIMApiKey";
|
| 5 |
import { readJsonBody } from "../utils/responseBody";
|
| 6 |
|
| 7 |
export const metadata: ToolMetadata = {
|
|
|
|
| 25 |
params: InferSchema<typeof schema>
|
| 26 |
) {
|
| 27 |
const requestHeaders = headers();
|
| 28 |
+
const apiToken = getScimToken(requestHeaders);
|
| 29 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 30 |
|
| 31 |
if (!apiToken) {
|
src/tools/replaceGroup.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
-
import { groupResourceSchema } from "../schemas/groupResourceSchema";
|
| 4 |
import { z } from "zod";
|
|
|
|
|
|
|
| 5 |
import { readJsonBody } from "../utils/responseBody";
|
| 6 |
|
| 7 |
export const metadata: ToolMetadata = {
|
|
@@ -25,7 +26,7 @@ export default async function replaceGroup(
|
|
| 25 |
params: InferSchema<typeof schema>
|
| 26 |
) {
|
| 27 |
const requestHeaders = headers();
|
| 28 |
-
const apiToken = requestHeaders
|
| 29 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 30 |
|
| 31 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
|
|
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { groupResourceSchema } from "../schemas/groupResourceSchema";
|
| 5 |
+
import { getScimToken } from "../utils/getSCIMApiKey";
|
| 6 |
import { readJsonBody } from "../utils/responseBody";
|
| 7 |
|
| 8 |
export const metadata: ToolMetadata = {
|
|
|
|
| 26 |
params: InferSchema<typeof schema>
|
| 27 |
) {
|
| 28 |
const requestHeaders = headers();
|
| 29 |
+
const apiToken = getScimToken(requestHeaders);
|
| 30 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 31 |
|
| 32 |
if (!apiToken) {
|
src/tools/replaceUser.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
| 3 |
-
import { userResourceSchema } from "../schemas/userResourceSchema";
|
| 4 |
import { z } from "zod";
|
|
|
|
|
|
|
| 5 |
import { readJsonBody } from "../utils/responseBody";
|
| 6 |
|
| 7 |
export const metadata: ToolMetadata = {
|
|
@@ -25,7 +26,7 @@ export default async function replaceUser(
|
|
| 25 |
params: InferSchema<typeof schema>
|
| 26 |
) {
|
| 27 |
const requestHeaders = headers();
|
| 28 |
-
const apiToken = requestHeaders
|
| 29 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 30 |
|
| 31 |
if (!apiToken) {
|
|
|
|
| 1 |
import { type InferSchema, type ToolMetadata } from "xmcp";
|
| 2 |
import { headers } from "xmcp/headers";
|
|
|
|
| 3 |
import { z } from "zod";
|
| 4 |
+
import { userResourceSchema } from "../schemas/userResourceSchema";
|
| 5 |
+
import { getScimToken } from "../utils/getSCIMApiKey";
|
| 6 |
import { readJsonBody } from "../utils/responseBody";
|
| 7 |
|
| 8 |
export const metadata: ToolMetadata = {
|
|
|
|
| 26 |
params: InferSchema<typeof schema>
|
| 27 |
) {
|
| 28 |
const requestHeaders = headers();
|
| 29 |
+
const apiToken = getScimToken(requestHeaders);
|
| 30 |
const baseUrl = requestHeaders["x-scim-base-url"];
|
| 31 |
|
| 32 |
if (!apiToken) {
|
src/utils/getSCIMApiKey.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
|
| 3 |
+
type Headers = import("http").IncomingHttpHeaders;
|
| 4 |
+
|
| 5 |
+
export function getScimToken(headers: Headers): string {
|
| 6 |
+
let token = "";
|
| 7 |
+
|
| 8 |
+
if (process.env.SCIM_API_TOKEN) {
|
| 9 |
+
token = process.env.SCIM_API_TOKEN;
|
| 10 |
+
}
|
| 11 |
+
const tokenFromHeader = headers["x-scim-api-key"] || headers["X-SCIM-API-KEY"];
|
| 12 |
+
if (typeof tokenFromHeader === "string") {
|
| 13 |
+
token = tokenFromHeader.trim();
|
| 14 |
+
}
|
| 15 |
+
|
| 16 |
+
return token;
|
| 17 |
+
}
|