|
||
---|---|---|
.. | ||
.gitignore | ||
cas_client.js | ||
cas_client_cordova.js | ||
cas_server.js | ||
LICENSE | ||
package.js | ||
README.md |
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 defaultfalse
;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 defaultcas:givenName
; but you can use your own CAS attribute
-
lastname
: by defaultcas: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 thefirstname
+lastname
-
mail
: by defaultcas: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.