mirror of https://github.com/wekan/wekan
The Open Source kanban (built with Meteor). Keep variable/table/field names camelCase. For translations, only add Pull Request changes to wekan/i18n/en.i18n.json , other translations are done at https://transifex.com/wekan/wekan only.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.8 KiB
89 lines
2.8 KiB
![]()
6 years ago
|
This is a merged repository of useful forks of: atoy40:accounts-cas
|
||
|
===================
|
||
|
([(https://atmospherejs.com/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](http://docs.meteor.com/api/core.html#Meteor-absoluteUrl) 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
|
||
|
|
||
|
* [https://devel.mephi.ru/dyokunev/start-mephi-ru](https://devel.mephi.ru/dyokunev/start-mephi-ru)
|
||
|
|
||
|
|