Skip to content
This repository was archived by the owner on Mar 19, 2025. It is now read-only.

Commit 9692cde

Browse files
committed
Merge pull request #3 from adamdruppe/master
flow explanation
2 parents 6d20f73 + 85cbac3 commit 9692cde

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,17 @@ The file lib/casserver/views/layout.erb has the login layout html. This is based
66

77
The public/ folder has image and css assets brought off the main site. These are simply downloaded from the production site and renamed - to do this, load the beyondz.org site in your browser, view source and find the link rel=styleshet near the top. Download that file and save it in here as public/beyondz.css. They do NOT need to be maintained separately at this time. Currently required are the logo, favicon, and stylesheet.
88

9-
The file lib/beyondz.rb holds our authenticator. It uses a cooperative check_credentials http api on the platform to check against the main database. It is configured via config.yml for server (string), port (integer), ssl (boolean), and allow_self_signed (boolean) to know where to connect. The default ssl options is production-ready - it will verify certificates and use SSL. For development purposes, you may turn these options off with ssl: false.
9+
The file lib/beyondz.rb holds our authenticator. It uses a cooperative check_credentials http api on the public site to check against the main database. It is configured via config.yml for server (string), port (integer), ssl (boolean), and allow_self_signed (boolean) to know where to connect. The default ssl options is production-ready - it will verify certificates and use SSL. For development purposes, you may turn these options off with ssl: false.
10+
11+
## End user flow
12+
13+
The end user should always go to the service they want to use (portal.beyondz.org for example). The service then redirects them to the single sign on server, with a service parameter telling it to redirect them back once login is complete.
14+
15+
user goes to canvas -> canvas sends them to sso -> sso sends back to canvas
16+
17+
On the backend, the SSO server talks to the public site server and the service (canvas) server talks to the SSO server to validate login tickets. This should be SSL secured in production so the sso and canvas servers both need working client certificates, and the sso and public site servers need to be running https.
18+
19+
The user master record is stored on the public site. User records also need to exist on the service - so a bz.org and canvas user need to exist with the same email address for the login to succeed end to end.
1020

1121
## Copyright
1222

config/config.example.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@
1818
# The following are example configurations for each of these three methods:
1919
#
2020

21-
# This is the domain of the main platform website
22-
platform_domain: beyondz.org
21+
# This is the domain of the main public website
22+
# It is used by the view to generate links back to the rest of the site on the login form.
23+
public_site_domain: beyondz.org
2324

2425
###
2526
### WEBrick example

lib/casserver/server.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ def self.init_database!
278278
content_type :html, 'charset' => 'utf-8'
279279
@theme = settings.config[:theme]
280280
@organization = settings.config[:organization]
281-
@domain = settings.config[:platform_domain]
281+
@domain = settings.config[:public_site_domain]
282282
@uri_path = settings.config[:uri_path]
283283
@infoline = settings.config[:infoline]
284284
@custom_views = settings.config[:custom_views]

0 commit comments

Comments
 (0)