{"id":23291325,"url":"https://github.com/rtomas/microsoft-oauth-for-web3auth","last_synced_at":"2026-05-02T19:31:40.727Z","repository":{"id":220526018,"uuid":"751872508","full_name":"rtomas/microsoft-oauth-for-web3auth","owner":"rtomas","description":"Microsft OAuth Server for Web3Auth. Get Your Public Address","archived":false,"fork":false,"pushed_at":"2024-02-28T20:28:45.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T17:52:12.232Z","etag":null,"topics":["authentication","ethereum","oauth2","web3auth"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rtomas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-02T14:11:56.000Z","updated_at":"2024-02-03T17:49:18.000Z","dependencies_parsed_at":"2025-04-06T17:46:20.728Z","dependency_job_id":"eb3fb5a2-e034-4c9b-ae3a-68f6e0203b88","html_url":"https://github.com/rtomas/microsoft-oauth-for-web3auth","commit_stats":null,"previous_names":["rtomas/microsoft-oauth-for-web3auth"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rtomas/microsoft-oauth-for-web3auth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtomas%2Fmicrosoft-oauth-for-web3auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtomas%2Fmicrosoft-oauth-for-web3auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtomas%2Fmicrosoft-oauth-for-web3auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtomas%2Fmicrosoft-oauth-for-web3auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rtomas","download_url":"https://codeload.github.com/rtomas/microsoft-oauth-for-web3auth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtomas%2Fmicrosoft-oauth-for-web3auth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32547645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T19:18:06.202Z","status":"ssl_error","status_checked_at":"2026-05-02T19:16:21.335Z","response_time":132,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","ethereum","oauth2","web3auth"],"created_at":"2024-12-20T05:16:36.212Z","updated_at":"2026-05-02T19:31:40.705Z","avatar_url":"https://github.com/rtomas.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# microsoft-oauth-for-web3auth\n\nThis project integrate Web3Auth with Microsoft OAuth for authentication. Web3Auth is a decentralized authentication protocol that allows users to sign in to applications using their Ethereum wallets. In this demo, Microsoft OAuth is used to authenticate users, and Web3Auth is employed to provide Ethereum private key access and public address.\n\n## Getting Started\n\nFollow these steps to set up and run the project:\n\n### 1. Clone the repository:\n`git clone https://github.com/rtomas/microsoft-oauth-for-web3auth.git`\n\n### 2. Install dependencies:\n```\ncd microsoft-oauth-for-web3auth\nnpm install\n```\n\n### 3. Configure the verifier in the [Web3Auth Dashboard](https://dashboard.web3auth.io)\n\n   Choose a name an use it for the ENV Configuration. Then select in Login Provider as \"Custom Provider\" and configure the other information as you can see in the image.\n   \n   \u003cimg width=\"711\" alt=\"image\" src=\"https://github.com/rtomas/microsoft-oauth-for-web3auth/assets/944960/fc6c5a10-2d3d-4b58-bbdb-1b01ba1e492b\"\u003e\n   \n   Upload the jwks.json to a server. In my example was uploaded to github.\n\n### 4. Configure a new Application in Microsoft Entra.\n\nYou'll need the Application (client) ID and the Directory (tenant) ID.\nThen you can add a redirect URI (in our example is http://localhost:5005/ms/callback)\n\n\u003cimg width=\"980\" alt=\"image\" src=\"https://github.com/rtomas/microsoft-oauth-for-web3auth/assets/944960/25803c18-02a5-488b-85e8-67b948d72799\"\u003e\n\nFinally in \"Certificates \u0026 secrets\" -\u003e Client Secret -\u003e New client secret and copy the value to the .ENV\n\n### 5. Generate a private key and your jwks.json.\n\nFollow the instructions from this link: https://web3auth.io/docs/auth-provider-setup/byo-jwt-providers#how-to-convert-pem-to-jwks\n\n### 6. Create a `.env` file in the project root and set the following variables:\n\n```\nAZURE_CLIENT_ID=## create one in https://entra.microsoft.com/##\nAZURE_CLIENT_SECRET=## create one in https://entra.microsoft.com/##\nAZURE_TENANT_ID=## create one in https://entra.microsoft.com/##\nAZURE_CODE_CHALLENGE=##create pair with CODE_VERIFIER in https://tonyxu-io.github.io/pkce-generator/##\nAZURE_CODE_VERIFIER=##create pair with CODE_CHALLENGE in https://tonyxu-io.github.io/pkce-generator/##\nPRIVATE_KEY_FILE_NAME=privateKey.pem\nJWKS_FILE_NAME=jwks.json\n```\n\n### 7. Run the application:\n\n`npm run dev`\n\nOpen your browser and navigate to http://localhost:5005/ms/login to initiate the Microsoft OAuth flow.\n\n## How it works?\n\nWhen integrating Web3Auth with Microsoft Login the flow looks something like this:\n\n![Microsoft flow](https://github.com/rtomas/microsoft-oauth-for-web3auth/assets/944960/76b25237-4031-4535-8b3f-67335e430773)\n\n\n# Reference\n+ [Custom JWT providers in Web3auth](https://web3auth.io/docs/auth-provider-setup/byo-jwt-providers)\n+ [Microsoft OAUTH 2.0 flow](https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow#redeem-a-code-for-an-access-token)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frtomas%2Fmicrosoft-oauth-for-web3auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frtomas%2Fmicrosoft-oauth-for-web3auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frtomas%2Fmicrosoft-oauth-for-web3auth/lists"}