{"id":18830068,"url":"https://github.com/brycedorn/deno-steam-openid","last_synced_at":"2026-04-30T06:31:17.850Z","repository":{"id":46784950,"uuid":"515658737","full_name":"brycedorn/deno-steam-openid","owner":"brycedorn","description":"A Deno package to orchestrate OpenID authentication flow with Steam.","archived":false,"fork":false,"pushed_at":"2022-07-26T12:58:20.000Z","size":13,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-29T15:38:31.591Z","etag":null,"topics":["authentication","deno","deno-module","openid","steam","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brycedorn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-19T16:19:00.000Z","updated_at":"2024-11-18T10:55:01.000Z","dependencies_parsed_at":"2022-08-31T22:21:06.115Z","dependency_job_id":null,"html_url":"https://github.com/brycedorn/deno-steam-openid","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/brycedorn/deno-steam-openid","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycedorn%2Fdeno-steam-openid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycedorn%2Fdeno-steam-openid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycedorn%2Fdeno-steam-openid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycedorn%2Fdeno-steam-openid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brycedorn","download_url":"https://codeload.github.com/brycedorn/deno-steam-openid/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycedorn%2Fdeno-steam-openid/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261416289,"owners_count":23155036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","deno","deno-module","openid","steam","typescript"],"created_at":"2024-11-08T01:47:30.717Z","updated_at":"2026-04-30T06:31:12.795Z","avatar_url":"https://github.com/brycedorn.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# deno-steam-openid\n\n![deno_steam_openid module version](https://shield.deno.dev/x/deno_steam_openid)\n[![.github/workflows/deno.yml](https://github.com/brycedorn/deno-steam-openid/actions/workflows/deno.yml/badge.svg)](https://github.com/brycedorn/deno-steam-openid/actions/workflows/deno.yml)\n\nA [Deno](https://deno.land) package to orchestrate\n[OpenID](https://openid.net/what-is-openid/) authentication flow with\n[Steam](https://store.steampowered.com/).\n\nBorrows from [node-openid](https://github.com/havard/node-openid) and\n[node-steam-openid](https://www.npmjs.com/package/node-steam-openid) with\nmodifications to support the Deno runtime. Note: not all OpenID functionality is\nsupported; only authentication logic required to support flow with Steam.\n\n## Usage\n\nOpenID flow confirmed to work with these frameworks:\n\n- [Fresh](https://fresh.deno.dev/)\n- [Oak](https://oakserver.github.io/oak/)\n\n```typescript\nimport { SteamAuth } from 'https://deno.land/x/deno_steam_openid/mod.ts';\n\n// Initialize\nconst steam = new SteamAuth({\n  realm: Deno.env.get('DOMAIN'),\n  returnUrl: `${Deno.env.get('DOMAIN')}/auth`,\n  apiKey: Deno.env.get('API_KEY'),\n});\n\n// Redirect to Steam\nconst handler = async () {\n  const redirectUrl = await steam.getRedirectUrl();\n}\n\n// Handle redirect from Steam\nconst otherHandler = async (request) {\n  const user = await steam.authenticate(request);\n}\n```\n\n## Example\n\nThere's a simple [Oak](https://deno.land/x/oak@v10.6.0) example in the\n[example](https://github.com/brycedorn/deno-steam-openid/tree/main/example)\ndirectory that demonstrates the flow. This assumes you have the latest version\nof Deno [installed](https://deno.land/manual/getting_started/installation).\n\n1. Get a [Steam API key](https://steamcommunity.com/dev/apikey)\n1. Run `cp .env.example .env`\n1. Replace `xxxxx` in new `.env` file with your API key\n1. Run `deno task example`\n1. Open [localhost:8000](http://localhost:8000) and log in to Steam to be\n   redirected to a page with your user information\n\n## Test\n\n```bash\ndeno task test\n```\n\n## Format\n\n```bash\ndeno task fmt\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrycedorn%2Fdeno-steam-openid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrycedorn%2Fdeno-steam-openid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrycedorn%2Fdeno-steam-openid/lists"}