{"id":16950006,"url":"https://github.com/jsumners/simple-cas-interface","last_synced_at":"2025-10-24T07:35:59.571Z","repository":{"id":57359840,"uuid":"47844115","full_name":"jsumners/simple-cas-interface","owner":"jsumners","description":"A class for interacting with servers implementing Apereo's CAS protocol","archived":false,"fork":false,"pushed_at":"2023-04-12T20:04:01.000Z","size":396,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-09T03:36:20.606Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/jsumners.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":"2015-12-11T18:29:51.000Z","updated_at":"2018-11-09T02:08:39.000Z","dependencies_parsed_at":"2024-06-20T23:22:08.778Z","dependency_job_id":"828a1c65-6c1a-44b5-bc0b-3c4628513fb5","html_url":"https://github.com/jsumners/simple-cas-interface","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsumners%2Fsimple-cas-interface","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsumners%2Fsimple-cas-interface/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsumners%2Fsimple-cas-interface/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsumners%2Fsimple-cas-interface/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsumners","download_url":"https://codeload.github.com/jsumners/simple-cas-interface/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248477552,"owners_count":21110513,"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-10-13T21:56:35.890Z","updated_at":"2025-10-24T07:35:54.524Z","avatar_url":"https://github.com/jsumners.png","language":"JavaScript","readme":"# simple-cas-interface\n\nThis module provides a simple interface for interacting with a [CAS][cas] \nserver. Based on the parameters you provide it, it will generate all of the\nnecessary URLs for communicating with the server. It also provides methods for\nverifying the validity of CAS tickets.\n\nThere are several other CAS clients available, but they are either narrowly\ndefined for specific institutions or are tied to specific frameworks like\nExpress. To be framework agnositic, the only interaction this module directly\nhas with the remote CAS server is when validating tickets. All other\ninteractions are left up to your application or other modules. One such\nimplementation is the [hapi-cas module][hapi-cas].\n\nThis module follows the [specification][spec] and implements protocol version\n1.0, 2.0, and 3.0.\n\nThis module is fully documented in the [api.md](api.md) document.\n\n**Note:** CAS's proxy granting ticket protocol is not yet supported. Basically\nbecause this author doesn't quite understand it or its purpose.\n\n[cas]: http://jasig.github.io/cas/\n[spec]: https://github.com/Jasig/cas/blob/master/cas-server-documentation/protocol/CAS-Protocol-Specification.md\n[hapi-cas]: https://npmjs.com/hapi-cas\n\n## Install\n\n```bash\n$ npm install --save --production simple-cas-interface\n```\n\n## Usage\n\n```javascript\nconst CAS = require('simple-cas-interface');\nconst casOptions = {\n  serverUrl: 'https://cas.example.com/',\n  serviceUrl: 'https://myapp.example.com/casHandler',\n  protocolVersion: 3.0\n};\n\nconst cas = new CAS(casOptions);\n\n// Create some end point in your app that redirects users to\ncas.loginUrl;\n\n// After the user authenticates they will be sent to the `/casHandler` end\n// point. The casHandler endpoint should retrieve the service ticket from the\n// URL query parameters and submit it to:\ncas\n  .validateServiceTicket('the ticket')\n  .then(function resolved(msg) {\n    // the ticket successfully authenticated\n  })\n  .catch(function caught(error) {\n    // the ticket did not authenticate\n  });\n```\n\n## License\n\n[MIT License](http://jsumners.mit-license.org/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsumners%2Fsimple-cas-interface","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsumners%2Fsimple-cas-interface","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsumners%2Fsimple-cas-interface/lists"}