{"id":15409482,"url":"https://github.com/xpaw/steamopenid.php","last_synced_at":"2025-04-06T01:08:05.388Z","repository":{"id":46637999,"uuid":"167333479","full_name":"xPaw/SteamOpenID.php","owner":"xPaw","description":"🐘 A correct and simple implementation of Steam OpenID authentication","archived":false,"fork":false,"pushed_at":"2025-03-14T12:58:32.000Z","size":39,"stargazers_count":48,"open_issues_count":0,"forks_count":3,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-29T11:49:35.733Z","etag":null,"topics":["authentication","openid","php","steam"],"latest_commit_sha":null,"homepage":"https://packagist.org/packages/xpaw/steam-openid","language":"PHP","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/xPaw.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-24T08:42:25.000Z","updated_at":"2025-03-14T12:58:35.000Z","dependencies_parsed_at":"2024-11-24T19:05:50.417Z","dependency_job_id":"80550a96-816d-42d7-8994-ae41936c579b","html_url":"https://github.com/xPaw/SteamOpenID.php","commit_stats":{"total_commits":33,"total_committers":1,"mean_commits":33.0,"dds":0.0,"last_synced_commit":"7e12106d97a7d5f66c482c0f0b0060cc87ece692"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xPaw%2FSteamOpenID.php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xPaw%2FSteamOpenID.php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xPaw%2FSteamOpenID.php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xPaw%2FSteamOpenID.php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xPaw","download_url":"https://codeload.github.com/xPaw/SteamOpenID.php/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247419860,"owners_count":20936012,"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","openid","php","steam"],"created_at":"2024-10-01T16:40:13.735Z","updated_at":"2025-04-06T01:08:05.371Z","avatar_url":"https://github.com/xPaw.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Steam OpenID Authentication for PHP [![Packagist](https://img.shields.io/packagist/dt/xpaw/steam-openid.svg)](https://packagist.org/packages/xpaw/steam-openid) [![codecov](https://codecov.io/gh/xPaw/SteamOpenID.php/graph/badge.svg?token=TA8tz7bpHy)](https://codecov.io/gh/xPaw/SteamOpenID.php)\n\nA very minimalistic OpenID implementation that hardcodes it for Steam only,\nas using a generic OpenID library may do unnecessary steps of “discovering”\nOpenID servers, which will end up leaking your origin server address, and worse,\nleave your website open to vulnerabilities of claiming wrong Steam profiles if the implementation is bugged.\n\nThe described problems are not theoretical, LightOpenID\n[has been proven](https://twitter.com/thexpaw/status/1088207320977412097)\nto have implementation problems, and even if you use `validate` and use regex on the final\n`identity` it can be spoofed and a third-party server can be used to pass the validation.\n\nThis library aims to avoid these problems by implementing the bare minimum functionality required\nfor validating Steam OpenID requests against the hardcoded Steam server. This library only implements\nvalidation, you will need to implement Steam WebAPI calls yourself to fetch user profile information.\n\nBefore using this library, [please read Valve's terms here](https://steamcommunity.com/dev).\n\n## Installation\n\n`composer require xpaw/steam-openid`\n\nSee [Example.php](Example.php) file for example usage.\n\n### Basic usage\n\n```php\nuse xPaw\\Steam\\SteamOpenID;\n\n$SteamOpenID = new SteamOpenID( $ReturnToUrl );\n\nif( $SteamOpenID-\u003eShouldValidate() )\n{\n\ttry\n\t{\n\t\t$CommunityID = $SteamOpenID-\u003eValidate();\n\t\techo 'Logged in as ' . $SteamID;\n\t}\n\tcatch( Exception $e )\n\t{\n\t\techo 'Login failed';\n\t}\n}\nelse\n{\n\theader( 'Location: ' . $SteamOpenID-\u003eGetAuthUrl() );\n}\n```\n\nIf you want to parse SteamIDs, take a look at [SteamID.php](https://github.com/xPaw/SteamID.php).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxpaw%2Fsteamopenid.php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxpaw%2Fsteamopenid.php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxpaw%2Fsteamopenid.php/lists"}