{"id":19123090,"url":"https://github.com/digitalbazaar/webid-demo","last_synced_at":"2025-05-05T18:29:35.345Z","repository":{"id":66015322,"uuid":"1144096","full_name":"digitalbazaar/webid-demo","owner":"digitalbazaar","description":"WebID demonstration source code","archived":false,"fork":false,"pushed_at":"2011-05-23T16:50:41.000Z","size":1104,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-19T11:08:35.956Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://payswarm.com/webid-demo/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/digitalbazaar.png","metadata":{"files":{"readme":"README","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":"2010-12-06T19:07:32.000Z","updated_at":"2020-03-22T11:02:29.000Z","dependencies_parsed_at":"2023-02-19T21:10:17.343Z","dependency_job_id":null,"html_url":"https://github.com/digitalbazaar/webid-demo","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/digitalbazaar%2Fwebid-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalbazaar%2Fwebid-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalbazaar%2Fwebid-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalbazaar%2Fwebid-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/digitalbazaar","download_url":"https://codeload.github.com/digitalbazaar/webid-demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252552740,"owners_count":21766757,"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":[],"created_at":"2024-11-09T05:24:18.166Z","updated_at":"2025-05-05T18:29:35.306Z","avatar_url":"https://github.com/digitalbazaar.png","language":"JavaScript","funding_links":[],"categories":["WebID"],"sub_categories":["BBedit"],"readme":"WebID Demo\n==========\n\nA demonstration implementation of using the WebID protocol to perform\nlogin on a website without the need for browser-based client-certificate\nsupport.\n\nIntroduction\n------------\n\nThis is an experimental implementation of the WebID protocol. Typically,\nWebID requires there to be native browser support for client-side \ncertificates in web browsers. This particular implementation of WebID\ndoes not require any native browser support. JavaScript is used to \nperform all of the cryptography support while Flash is used to perform\ncross-domain socket communication. Over time, we expect the Flash requirement\nto go away and pure JavaScript to drive the WebID login process as \nnative socket support in Web Browsers is improved. The benefit to \nthis approach is that the website stays in control of the entire login \nprocess instead of relegating the login flow to a, depending on the browser, \nbad UI.\n\nGetting Started\n---------------\n\n### Requirements\n\n* Apache2\n* PHP5\n* librdf (redland)\n* Apache2 Flash Socket Policy Module\n* Forge\n* nodejs\n\n* You will need to replace \"webid.digitalbazaar.com\" with your provider domain\nin both the provider and verifier code.\n* You will need to replace \"payswarm.com\" with your verifier domain in both\nthe provider and verifier code.\n\n### Setting up Apache2\n\n* Follow the instructions in the Forge README for adding mod_fsp to your\nApache install. This will enable cross-domain communication between your\nprovider and verifier.\n\n### Setting up the Provider\n\n* The provider will need the Forge JavaScript libraries\n  https://github.com/digitalbazaar/forge\n* Place the forge javascript and swf into the provider/forge directory.\n* The provider will need to serve the provider/ directory.\n\n### Setting up the Verifier\n\n* The verifier will need to serve the verifier/ directory.\n* To support WebSocket login, the verifier will need the Forge\n  JavaScript libraries and node.js\n* Place the forge javascript into the verifier/websocket/forge directory.\n* To run the node.js websocket server, from the websocket directory,\n  run: \u003cnodejs binary\u003e nodejs-ws-webid.js \\\n  -p \u003cport\u003e --key \u003cprivateKey\u003e --cert \u003ccertificate\u003e\n\n### Performing a Test Login\n\n* First, using a web browser, navigate to the provider server and create\na WebID.\n* Second, navigate to the verifier server and follow the on screen\ninstructions to attempt a login using your created WebID.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalbazaar%2Fwebid-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigitalbazaar%2Fwebid-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalbazaar%2Fwebid-demo/lists"}