|
1 |
| -<p align="center"> |
2 |
| - <img src="https://www.ortussolutions.com/__media/coldbox-185-logo.png"> |
3 |
| - <br> |
4 |
| - <img src="https://www.ortussolutions.com/__media/wirebox-185.png" height="125"> |
5 |
| - <img src="https://www.ortussolutions.com/__media/cachebox-185.png" height="125" > |
6 |
| - <img src="https://www.ortussolutions.com/__media/logbox-185.png" height="125"> |
7 |
| -</p> |
8 | 1 |
|
9 |
| -<p align="center"> |
10 |
| - Copyright Since 2005 ColdBox Platform by Luis Majano and Ortus Solutions, Corp |
11 |
| - <br> |
12 |
| - <a href="https://www.coldbox.org">www.coldbox.org</a> | |
13 |
| - <a href="https://www.ortussolutions.com">www.ortussolutions.com</a> |
14 |
| -</p> |
15 | 2 |
|
16 |
| ----- |
| 3 | +# cbSSO |
17 | 4 |
|
18 |
| -# Ortus ColdBox Module Template |
| 5 | +Welcome to cbSSO a ColdBox module to help integrate SSO into your application easily. |
19 | 6 |
|
20 |
| -This template can be used to create Ortus based ColdBox Modules. To use, just click the `Use this Template` button in the github repository: https://github.com/coldbox-modules/module-template and run the setup task from where you cloned it. |
| 7 | +Bundled in this module are several SSO provider implementations that allow you to quickly and easily integrate with Identity Providers such as Microsoft, Google, GitHub or Facebook using standard protocols like SAML and oAuth. |
21 | 8 |
|
22 |
| -```bash |
23 |
| -box task run taskFile=build/SetupTemplate |
| 9 | +To install run |
| 10 | +``` |
| 11 | +box install cbsso |
24 | 12 | ```
|
25 | 13 |
|
26 |
| -The `SetupTemplate` task will ask you for your module name, id and description and configure the template for you! Enjoy! |
27 |
| - |
28 |
| -## Directory Structure |
29 |
| - |
30 |
| -The root of the module is the root of the repository. Add all the necessary files your module will need. |
31 |
| - |
32 |
| -* `.github/workflows` - These are the github actions to test and build the module via CI |
33 |
| -* `build` - This is the CommandBox task that builds the project. Only modify if needed. Most modules will never modify it. (Modify if needed) |
34 |
| -* `test-harness` - This is a ColdBox testing application, where you will add your testing files, specs etc. |
35 |
| -* `.cfformat.json` - A CFFormat using the Ortus Standards |
36 |
| -* `.cflintrc` - A CFLint configuration file according to Ortus Standards |
37 |
| -* `.editorconfig` - Smooth consistency between editors |
38 |
| -* `.gitattributes` - Git attributes |
39 |
| -* `.gitignore` - Basic ignores. Modify as needed. |
40 |
| -* `.markdownlint.json` - A linting file for markdown docs |
41 |
| -* `box.json` - The box.json for YOUR module. Modify as needed. |
42 |
| -* `changelog.md` - A nice changelog tracking file |
43 |
| -* `ModuleConfig.cfc` - Your module's configuration. Modify as needed. |
44 |
| -* `readme.md` - Your module's readme. Modify as needed. |
45 |
| -* `[email protected]` - A set of json files to configure the major engines your modules supports. |
46 |
| - |
47 |
| -## Test Harness |
48 |
| - |
49 |
| -The test harness is created to bootstrap your working module into the application `afterAspectsLoad`. This is done in the `config/ColdBox.cfc`. It includes some key features: |
50 |
| - |
51 |
| -* `config` - Modify as needed |
52 |
| -* `tests` - All your testing specs should go here. Please notice the commented out ORM fixtures. Enable them if your module requires ORM |
53 |
| -* `.cfconfig.json` - A prepared cfconfig json file so your engine data is consistent. Modify as needed. |
54 |
| -* `.env.sample` - An environment property file sample. Copy and create a `.env` if your app requires it. |
55 |
| - |
56 |
| - |
57 |
| -## API Docs |
58 |
| - |
59 |
| -The build task will take care of building API Docs using DocBox for you but **ONLY** for the `models` folder in your module. If you want to document more then make sure you modify the `build/Build.cfc` task. |
60 |
| - |
61 |
| -## Github Actions Automation |
62 |
| - |
63 |
| -The github actions will clone, test, package, deploy your module to ForgeBox and the Ortus S3 accounts for API Docs and Artifacts. So please make sure the following environment variables are set in your repository. ** Please note that most of them are already defined at the org level ** |
64 |
| - |
65 |
| -* `FORGEBOX_TOKEN` - The Ortus ForgeBox API Token |
66 |
| -* `AWS_ACCESS_KEY` - The travis user S3 account |
67 |
| -* `AWS_ACCESS_SECRET` - The travis secret S3 |
68 |
| - |
69 |
| -> Please contact the admins in the `#infrastructure` channel for these credentials if needed |
70 |
| -
|
71 |
| -## Welcome to ColdBox |
72 |
| - |
73 |
| -ColdBox *Hierarchical* MVC is the de-facto enterprise-level [HMVC](https://en.wikipedia.org/wiki/Hierarchical_model%E2%80%93view%E2%80%93controller) framework for ColdFusion (CFML) developers. It's professionally backed, conventions-based, modular, highly extensible, and productive. Getting started with ColdBox is quick and painless. ColdBox takes the pain out of development by giving you a standardized methodology for modern ColdFusion (CFML) development with features such as: |
74 |
| - |
75 |
| -* [Conventions instead of configuration](https://coldbox.ortusbooks.com/getting-started/conventions) |
76 |
| -* [Modern URL routing](https://coldbox.ortusbooks.com/the-basics/routing) |
77 |
| -* [RESTFul APIs](https://coldbox.ortusbooks.com/the-basics/event-handlers/rendering-data) |
78 |
| -* [A hierarchical approach to MVC using ColdBox Modules](https://coldbox.ortusbooks.com/hmvc/modules) |
79 |
| -* [Event-driven programming](https://coldbox.ortusbooks.com/digging-deeper/interceptors) |
80 |
| -* [Async and Parallel programming constructs](https://coldbox.ortusbooks.com/digging-deeper/promises-async-programming) |
81 |
| -* [Integration & Unit Testing](https://coldbox.ortusbooks.com/testing/testing-coldbox-applications) |
82 |
| -* [Included dependency injection](https://wirebox.ortusbooks.com) |
83 |
| -* [Caching engine and API](https://cachebox.ortusbooks.com) |
84 |
| -* [Logging engine](https://logbox.ortusbooks.com) |
85 |
| -* [An extensive eco-system](https://forgebox.io) |
86 |
| -* Much More |
87 |
| - |
88 |
| -## Learning ColdBox |
| 14 | +Once installed you can configure your settings like so |
| 15 | +``` |
| 16 | +// config/modules/cbsso.cfc |
| 17 | +component { |
| 18 | + function configure(){ |
| 19 | + return { |
| 20 | + "providers": [ |
| 21 | + { |
| 22 | + type: "GoogleProvider@cbsso", |
| 23 | + clientId: getJavaSystem().getProperty( "GOOGLE_CLIENT_ID" ), |
| 24 | + clientSecret: getJavaSystem().getProperty( "GOOGLE_CLIENT_SECRET" ) |
| 25 | + } |
| 26 | + ] |
| 27 | + }; |
| 28 | + } |
| 29 | +} |
| 30 | +``` |
| 31 | +Your app now has the ability to direct users to Google for authentication! |
89 | 32 |
|
90 |
| -ColdBox is the defacto standard for building modern ColdFusion (CFML) applications. It has the most extensive [documentation](https://coldbox.ortusbooks.com) of all modern web application frameworks. |
| 33 | +For more complete documentation covering features and implementation check out our documentation site [cbsso.ortusbooks.com](https://cbsso.ortusbooks.com). |
91 | 34 |
|
92 | 35 |
|
93 |
| -If you don't like reading so much, then you can try our video learning platform: [CFCasts (www.cfcasts.com)](https://www.cfcasts.com) |
94 | 36 |
|
95 | 37 | ## Ortus Sponsors
|
96 | 38 |
|
|
0 commit comments