{"id":21339502,"url":"https://github.com/orcnd/wpauth","last_synced_at":"2026-04-12T16:01:58.075Z","repository":{"id":150428847,"uuid":"583893797","full_name":"orcnd/wpAuth","owner":"orcnd","description":"this generates a secure login link for users it also creates user if it doesn't exist yet","archived":false,"fork":false,"pushed_at":"2025-01-06T11:11:50.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T15:22:49.052Z","etag":null,"topics":["php","wordpress","wordpress-plugin"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/orcnd.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":"2022-12-31T10:53:47.000Z","updated_at":"2025-01-06T11:11:54.000Z","dependencies_parsed_at":"2023-04-09T02:07:35.594Z","dependency_job_id":null,"html_url":"https://github.com/orcnd/wpAuth","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orcnd%2FwpAuth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orcnd%2FwpAuth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orcnd%2FwpAuth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orcnd%2FwpAuth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orcnd","download_url":"https://codeload.github.com/orcnd/wpAuth/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243814986,"owners_count":20352077,"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":["php","wordpress","wordpress-plugin"],"created_at":"2024-11-22T00:46:15.471Z","updated_at":"2025-10-30T02:18:04.669Z","avatar_url":"https://github.com/orcnd.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wpAuth by Orcnd\n\n## what it does\n\nthis generates a secure login link for users\nit also creates user if it doesn't exist yet\n\n## but why ?\n\nwelp i needed a cross site login for wordpress. this plugin allows my other platform can login wordpress without register and login again\n\n## but how ?\n\nfirst of all i wanted to do this in secure as possible\n\n### so it has stages\n\n1. create a control key\n   we need this key to create access key.\n   we need this because we want to make this access key work only for short time of period\n   so we create a control key has with time, email and master key\n\n2. ask for access key with control key\n   now we have control key we are able to ask for access key. plugin will provide an access key which will be only accessible for short time\n\n3. now we able to request link for login with access key\n   plugin will return an unique id which will expire in short time\n\n4. redirect to user wordpress usr with unique id\n   that page will make user login to wordpress\n\n5. auto login page of wordpress will redirect user to page that specified in settings\n\n## here is a sequence diagram about it\n\n![it is my first sequence diagram be nice!](how.png 'how')\n\n## how to use it\n\n### wordpress side\n\n- create a wordpress page and add shortcode [wpAuth]\n- set settings on wordpress settings general section\n  you need to set key, full redirect url, username prefix and some salt\n\n### api request side\n\n## parameters that you will need\n\n- key: you need to store it wordpress plugin settings and your requester server\n- email : login user email\n- time : in ISO 8601 date format\n\nyou need a control key generator function first on your requester server\n`md5('key'.'email'.'time'.'control_key')`\n\nthan make a rest request to your wordpress site\nmethod is `post`\nrequest parameters are `email`,`time` and `control_token` that you generated above\nendpoint for this request is `/wp-json/wpauth/v1/token`\nyou will get an access token with this request as `access_token`\n\nnow we can request a link id with our access token\nin order to do that you need to make a request\nmethod is `post`\nrequest parameter will be `email`,`name` and `access_token`\nendpoint for this request is `/wp-json/wpauth/v1/generateLogin`\n\nthis request will return an unique id as `login`\n\nnow redirect the user to wordpress page that you created and added `[wpAuth]` shortcode before with get parameter `?token=login`\nthat login provided with last request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forcnd%2Fwpauth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forcnd%2Fwpauth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forcnd%2Fwpauth/lists"}