From c0d78027af9ae2a47e48be32db40c6da2e616d0b Mon Sep 17 00:00:00 2001 From: Justin Date: Thu, 11 Sep 2025 14:02:13 +0000 Subject: [PATCH] Add kratos-selfservice-wasm and kratos-client-wasm to README --- README.md | 8 ++-- dotnet-ory-network/playwright.config.ts | 10 ++-- .../ExampleApp/Controllers/HomeController.cs | 2 +- .../AuthenticationBuilderExtensions.cs | 2 +- .../OryIntegration/OryAuthHandler.cs | 2 +- .../OryIntegration/OryAuthSchemeOptions.cs | 2 +- .../ExampleApp/OryIntegration/OryDefaults.cs | 2 +- dotnet-ory-network/src/ExampleApp/Program.cs | 2 +- .../playwright/dotnet-ory-network.spec.ts | 48 +++++++++---------- .../tests/playwright/helpers.ts | 6 +-- 10 files changed, 43 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 2e4fce48..224d568d 100644 --- a/README.md +++ b/README.md @@ -74,9 +74,9 @@ Developer resources and forums for discussing Ory and meeting other users ### Ory blog guest articles -> Are you building something with Ory? -> Are you interested in Auth and security topics in general? -> Do you want to share your knowledge and experience? +> Are you building something with Ory? +> Are you interested in Auth and security topics in general? +> Do you want to share your knowledge and experience? > [Reach out](mailto:office@ory.sh) to get published in the Ory blog! - [Deploying Ory Oathkeeper as an AWS Lambda Authorizer](https://www.ory.sh/deploying-ory-oathkeeper-aws-lambda/) @@ -151,6 +151,7 @@ Code examples that show how to integrate Ory with a framework, software stack, o - [Ory Kratos SvelteKit example](https://github.com/bessey/ory-kratos-sveltekit-demo) - [Ory Kratos Admin Interface in React example](https://github.com/dfoxg/kratos-admin-ui) - [Ory Kratos Admin Interface with analytics](https://github.com/dhia-gharsallaoui/kratos-admin-ui) +- [Ory Kratos SPA Self-service UI written in the Dioxus rust framework (WASM)](https://github.com/justins-engineering/kratos-selfservice-wasm) ### Ory Hydra @@ -174,6 +175,7 @@ Community projects, configuration tools, or development helpers extending Ory se - [Ory Kratos Symfony Authenticator](https://github.com/stethome/ory-auth-bundle) - [Ory Kratos Loopback4 integration](https://github.com/giuseppegrieco/loopback4-kratos) - [Ory Kratos read-only traits](https://github.com/lus/kratos-readonly-traits) +- [Ory Kratos Client Rust WASM](https://github.com/justins-engineering/kratos-client-rust) ### Ory Hydra diff --git a/dotnet-ory-network/playwright.config.ts b/dotnet-ory-network/playwright.config.ts index 0534cf88..360ac9eb 100644 --- a/dotnet-ory-network/playwright.config.ts +++ b/dotnet-ory-network/playwright.config.ts @@ -1,8 +1,8 @@ -// Copyright © 2023 Ory Corp +// Copyright © 2025 Ory Corp // SPDX-License-Identifier: Apache-2.0 -import type { PlaywrightTestConfig } from "@playwright/test" -import { devices } from "@playwright/test" +import type { PlaywrightTestConfig } from "@playwright/test"; +import { devices } from "@playwright/test"; /** * Read environment variables from file. @@ -107,6 +107,6 @@ const config: PlaywrightTestConfig = { // command: 'npm run start', // port: 3000, // }, -} +}; -export default config +export default config; diff --git a/dotnet-ory-network/src/ExampleApp/Controllers/HomeController.cs b/dotnet-ory-network/src/ExampleApp/Controllers/HomeController.cs index 08c9ddb1..37b216a6 100644 --- a/dotnet-ory-network/src/ExampleApp/Controllers/HomeController.cs +++ b/dotnet-ory-network/src/ExampleApp/Controllers/HomeController.cs @@ -1,4 +1,4 @@ -// Copyright © 2023 Ory Corp +// Copyright © 2025 Ory Corp // SPDX-License-Identifier: Apache-2.0 using Microsoft.AspNetCore.Mvc; diff --git a/dotnet-ory-network/src/ExampleApp/OryIntegration/AuthenticationBuilderExtensions.cs b/dotnet-ory-network/src/ExampleApp/OryIntegration/AuthenticationBuilderExtensions.cs index 9decc5af..1f03984a 100644 --- a/dotnet-ory-network/src/ExampleApp/OryIntegration/AuthenticationBuilderExtensions.cs +++ b/dotnet-ory-network/src/ExampleApp/OryIntegration/AuthenticationBuilderExtensions.cs @@ -1,4 +1,4 @@ -// Copyright © 2023 Ory Corp +// Copyright © 2025 Ory Corp // SPDX-License-Identifier: Apache-2.0 using System; diff --git a/dotnet-ory-network/src/ExampleApp/OryIntegration/OryAuthHandler.cs b/dotnet-ory-network/src/ExampleApp/OryIntegration/OryAuthHandler.cs index 90df25b6..f1688768 100644 --- a/dotnet-ory-network/src/ExampleApp/OryIntegration/OryAuthHandler.cs +++ b/dotnet-ory-network/src/ExampleApp/OryIntegration/OryAuthHandler.cs @@ -1,4 +1,4 @@ -// Copyright © 2023 Ory Corp +// Copyright © 2025 Ory Corp // SPDX-License-Identifier: Apache-2.0 using System.Security.Claims; diff --git a/dotnet-ory-network/src/ExampleApp/OryIntegration/OryAuthSchemeOptions.cs b/dotnet-ory-network/src/ExampleApp/OryIntegration/OryAuthSchemeOptions.cs index a2340f5e..1ac8d846 100644 --- a/dotnet-ory-network/src/ExampleApp/OryIntegration/OryAuthSchemeOptions.cs +++ b/dotnet-ory-network/src/ExampleApp/OryIntegration/OryAuthSchemeOptions.cs @@ -1,4 +1,4 @@ -// Copyright © 2023 Ory Corp +// Copyright © 2025 Ory Corp // SPDX-License-Identifier: Apache-2.0 using Microsoft.AspNetCore.Authentication; diff --git a/dotnet-ory-network/src/ExampleApp/OryIntegration/OryDefaults.cs b/dotnet-ory-network/src/ExampleApp/OryIntegration/OryDefaults.cs index 89d22c7d..9584ef9d 100644 --- a/dotnet-ory-network/src/ExampleApp/OryIntegration/OryDefaults.cs +++ b/dotnet-ory-network/src/ExampleApp/OryIntegration/OryDefaults.cs @@ -1,4 +1,4 @@ -// Copyright © 2023 Ory Corp +// Copyright © 2025 Ory Corp // SPDX-License-Identifier: Apache-2.0 diff --git a/dotnet-ory-network/src/ExampleApp/Program.cs b/dotnet-ory-network/src/ExampleApp/Program.cs index 9889a6f2..ea457d54 100644 --- a/dotnet-ory-network/src/ExampleApp/Program.cs +++ b/dotnet-ory-network/src/ExampleApp/Program.cs @@ -1,4 +1,4 @@ -// Copyright © 2023 Ory Corp +// Copyright © 2025 Ory Corp // SPDX-License-Identifier: Apache-2.0 using Ory.Client.Api; diff --git a/dotnet-ory-network/tests/playwright/dotnet-ory-network.spec.ts b/dotnet-ory-network/tests/playwright/dotnet-ory-network.spec.ts index bd1dd394..57dc1d9c 100644 --- a/dotnet-ory-network/tests/playwright/dotnet-ory-network.spec.ts +++ b/dotnet-ory-network/tests/playwright/dotnet-ory-network.spec.ts @@ -1,34 +1,34 @@ -// Copyright © 2023 Ory Corp +// Copyright © 2025 Ory Corp // SPDX-License-Identifier: Apache-2.0 -import { test, expect, Page } from "@playwright/test" -import { randomEmail, randomString } from "./helpers" +import { test, expect, Page } from "@playwright/test"; +import { randomEmail, randomString } from "./helpers"; -const url = "http://localhost:5286/" +const url = "http://localhost:5286/"; const signup = async (page: Page) => { - const email = randomEmail() - const password = randomString() - await page.fill('[name="traits.email"]', email) - await page.fill('[name="password"]', password) - await page.click('[value="password"]') - return { email, password } -} + const email = randomEmail(); + const password = randomString(); + await page.fill('[name="traits.email"]', email); + await page.fill('[name="password"]', password); + await page.click('[value="password"]'); + return { email, password }; +}; const check_session = async (page: Page) => { - await page.goto(`${url}Home/IdentityInfo`) - expect(page.locator("text=You are authenticated")).toBeVisible() -} + await page.goto(`${url}Home/IdentityInfo`); + expect(page.locator("text=You are authenticated")).toBeVisible(); +}; test.describe("dotnet-ory-network", () => { test("sign up, check session and logout", async ({ page }) => { - await page.goto(url, { waitUntil: "networkidle" }) - await page.locator("text=Sign up").click() - await expect(page).toHaveURL(/.*\/ui\/registration.*/) - const credentials = await signup(page) - await expect(page).toHaveURL(`${url}`) - await check_session(page) - await page.locator("text=Log out").click() - await expect(page).toHaveURL(`${url}`) - }) -}) + await page.goto(url, { waitUntil: "networkidle" }); + await page.locator("text=Sign up").click(); + await expect(page).toHaveURL(/.*\/ui\/registration.*/); + const credentials = await signup(page); + await expect(page).toHaveURL(`${url}`); + await check_session(page); + await page.locator("text=Log out").click(); + await expect(page).toHaveURL(`${url}`); + }); +}); diff --git a/dotnet-ory-network/tests/playwright/helpers.ts b/dotnet-ory-network/tests/playwright/helpers.ts index a3fc04ca..24879210 100644 --- a/dotnet-ory-network/tests/playwright/helpers.ts +++ b/dotnet-ory-network/tests/playwright/helpers.ts @@ -1,8 +1,8 @@ -// Copyright © 2023 Ory Corp +// Copyright © 2025 Ory Corp // SPDX-License-Identifier: Apache-2.0 export const randomString = () => Math.random().toString(36).substring(2, 15) + - Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); -export const randomEmail = () => randomString() + "@" + randomString() + ".dev" +export const randomEmail = () => randomString() + "@" + randomString() + ".dev";