Skip to content

kevd17/meteor-accounts-cas

 
 

Repository files navigation

This is a merged repository of useful forks of: atoy40:accounts-cas

((https://atmospherejs.com/atoy40/accounts-cas)

Essential improvements by ppoulard to atoy40 and xaionaro versions

  • Added support of CAS attributes

With this plugin, you can pick CAS attributes : https://github.com/joshchan/node-cas/wiki/CAS-Attributes

Moved to Wekan GitHub org from from https://github.com/ppoulard/meteor-accounts-cas

Install

cd ~site
mkdir packages
cd packages
git clone https://github.com/wekan/meteor-accounts-cas
cd ~site
meteor add wekan:accounts-cas

Usage

Put CAS settings in Meteor.settings (for example using METEOR_SETTINGS env or --settings) like so:

If casVersion is not defined, it will assume you use CAS 1.0. (note by xaionaro: option casVersion seems to be just ignored in the code, ATM).

Server side settings:

Meteor.settings = {
    "cas": {
        "baseUrl": "https://cas.example.com/cas",
        "autoClose": true,
        "validateUrl":"https://cas.example.com/cas/p3/serviceValidate",
        "casVersion": 3.0,
        "attributes": {
            "debug" : true
        }
    },
}

CAS attributes settings :

  • attributes: by default {} : all default values below will apply
    • debug : by default false ; true will print to the server console the CAS attribute names to map, the CAS attributes values retrieved, if necessary the new user account created, and finally the user to use
    • id : by default, the CAS user is used for the user account, but you can specified another CAS attribute
    • firstname : by default cas:givenName ; but you can use your own CAS attribute
    • lastname : by default cas:sn (respectively) ; but you can use your own CAS attribute
    • fullname : by default unused, but if you specify your own CAS attribute, it will be used instead of the firstname + lastname
    • mail : by default cas:mail

Client side settings:

Meteor.settings = {
	"public": {
		"cas": {
			"loginUrl": "https://cas.example.com/login",
			"serviceParam": "service",
			"popupWidth": 810,
			"popupHeight": 610,
			"popup": true,
		}
	}
}

proxyUrl is not required. Setup ROOT_URL environment variable instead.

Then, to start authentication, you have to call the following method from the client (for example in a click handler) :

Meteor.loginWithCas([callback]);

It must open a popup containing you CAS login form or redirect to the CAS login form (depending on "popup" setting).

If popup is disabled (== false), then it's required to execute Meteor.initCas([callback]) in Meteor.startup of the client side. ATM, Meteor.initCas() completes authentication.

Examples

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%