1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-01-29 18:52:22 +01:00

fix typos

This commit is contained in:
Sylvain 2016-09-12 17:55:07 +02:00
parent 627073f2be
commit 2d2a5812eb
2 changed files with 15 additions and 13 deletions

View File

@ -36,7 +36,7 @@ class LdapProvider < ActiveRecord::Base
has_many :ldap_mappings, dependent: :destroy
accepts_nested_attributes_for :ldap_mappings, allow_destroy: true
# return here the fields you want to protect from being directly on the Fab-Manager, typically mapped fields
# return the fields you want to protect from being directly managed by the Fab-Manager, typically mapped fields
def protected_fields
fields = []
ldap_mappings.each do |mapping|
@ -45,13 +45,13 @@ class LdapProvider < ActiveRecord::Base
fields
end
# return here the link the current users will have to follow to edit his profile on the SSO
# return the link, that the current user will have to follow, to edit his profile on the SSO
def profile_url
# you can also create a profile_url field in the Database model
end
end
```
Whitelist your implementation fields in the controller ( **app/controllers/api/auth_providers_controller.rb** )
Whitelist your implementation's fields in the controller ( **app/controllers/api/auth_providers_controller.rb** )
```ruby
class API::AuthProvidersController < API::ApiController
@ -140,4 +140,5 @@ And to include this interface into the existing one ( **app/assets/templates/adm
<ng-include src="'<%= asset_path 'admin/authentifications/_ldap.html'%>'" ng-if="provider.providable_type == 'LdapProvider'"></ng-include>
</form>
```
Do not forget that you can find examples and inspiration in the OAuth 2.0 implementation.

View File

@ -10,31 +10,32 @@ For this guide, we will use [GitHub](https://developer.github.com/v3/oauth/) as
- In `Homepage URL`, put the public URL where your fab-manager's instance is located (eg. https://example.com).
- In `Authorization callback URL`, you must specify an URL that will match this scheme: https://example.com/users/auth/oauth2-github/callback (replace my-fablab.example.com with your own fab-manager's address).
- You'll be redirected to a page displaying to important informations: your **Client ID** and your **Client Secret**.
- You'll be redirected to a page displaying two important informations: your **Client ID** and your **Client Secret**.
- Now go to your fab-manager's instance, login as an administrator, go to `Users management` and `Authentication`.
Click `Add a new authentication provider`, and select _OAuth 2.0_ in the `Authentication type` drop-down list.
As a name, you can set whatever you want but, you must be aware that:
In `name`, you can set whatever you want, but you must be aware that:
1. You will need to type this name in a terminal to activate the provider, so prefer avoiding chars that must be escaped.
2. This name will be occasionally displayed to end users, so prefer sweet names.
2. This name will be occasionally displayed to end users, so prefer sweet and speaking names.
- Fulfill the form with the following parameters:
- **Common URL**: `https://github.com/login/oauth` This is the common part in the URL of the two following parameters.
- **Common URL**: `https://github.com/login/oauth` This is the common part in the URLs of the two following parameters.
- **Authorization endpoint**: `/authorize` This URL can be found [here](https://developer.github.com/v3/oauth/).
- **Token Acquisition Endpoint**: `/access_token` This URL can be found [here](https://developer.github.com/v3/oauth/).
- **Profile edition URL**: `https://github.com/settings/profile` This is the URL where you are directed when you click on `Edit profile` in your GitHub dashboard.
- **Client identifier**: Your Client ID, collected just before.
- **Client secret**: Your Client Secret, collected just before.
- Then you will need to define the matching of the fields between the data used in fab-manager and the data that the external SSO can provide.
Note that the only mandatory field is User.uid.
To continue with our GitHub example, you will need to look at [this documentation page](https://developer.github.com/v3/users/#get-the-authenticated-user) to know witch field can be mapped and how and [this one](https://developer.github.com/v3/) to know the root URL of the API.
- Then you will need to define the matching of the fields between the fab-manager and what the external SSO can provide.
Please note that the only mandatory field is `User.uid`.
To continue with our GitHub example, you will need to look at [this documentation page](https://developer.github.com/v3/users/#get-the-authenticated-user) to know witch field can be mapped and how, and [this one](https://developer.github.com/v3/) to know the root URL of the API.
- **Model**: `User`
- **Field**: `uid`
- **API endpoint URL**: `https://api.github.com/user` Here you can set a complete URL **OR** only an endpoint referring to the previously set **Common URL**.
- **API type**: `JSON` Only JSON API are currently supported
- **API fields**: `id` According to the GitHub API documentation, this is the name of the JSON field which uniquely identify the user.
You are free to map more fields, like `Profile.github` to `html_url`, or `Profile.avatar` to `avatar_url`...
Now, you are free to map more fields, like `Profile.github` to `html_url`, or `Profile.avatar` to `avatar_url`...
- Once you are done, your newly created authentication provider, will be marked as **Pending** in the authentication providers list.
To set it as the current active provider, you must open a terminal on the hosting server (and/or container) and run the following commands:
@ -46,7 +47,7 @@ rake fablab:switch_auth_provider[GitHub]
- As the command just prompted you, you have to re-compile the assets (with eg, `rake tmp:clear` - this vary with the method you used to deploy your instance)
- Then restart the web-server or the container.
- Finally, to notify all existing users about the changement and send them their migration code/link, run:
- Finally, to notify all existing users about the change (and send them their migration code/link), run:
```bash
rake fablab:notify_auth_changed
```