]> BookStack Code Mirror - bookstack/blob - config/services.php
a07fab23f14dbe317704d6f19421562e68d72607
[bookstack] / config / services.php
1 <?php
2
3 return [
4
5     /*
6     |--------------------------------------------------------------------------
7     | Third Party Services
8     |--------------------------------------------------------------------------
9     |
10     | This file is for storing the credentials for third party services such
11     | as Stripe, Mailgun, Mandrill, and others. This file provides a sane
12     | default location for this type of information, allowing packages
13     | to have a conventional place to find your various credentials.
14     |
15     */
16
17     // Single option to disable non-auth external services such as Gravatar and Draw.io
18     'disable_services' => env('DISABLE_EXTERNAL_SERVICES', false),
19
20     // Draw.io integration active
21     'drawio' => env('DRAWIO', !env('DISABLE_EXTERNAL_SERVICES', false)),
22
23     // URL for fetching avatars
24     'avatar_url' => env('AVATAR_URL', ''),
25
26     // Callback URL for social authentication methods
27     'callback_url' => env('APP_URL', false),
28
29     'mailgun'  => [
30         'domain' => '',
31         'secret' => '',
32     ],
33
34     'mandrill' => [
35         'secret' => '',
36     ],
37
38     'ses'      => [
39         'key'    => '',
40         'secret' => '',
41         'region' => 'us-east-1',
42     ],
43
44     'stripe'   => [
45         'model'  => \BookStack\Auth\User::class,
46         'key'    => '',
47         'secret' => '',
48     ],
49
50     'github'   => [
51         'client_id'     => env('GITHUB_APP_ID', false),
52         'client_secret' => env('GITHUB_APP_SECRET', false),
53         'redirect'      => env('APP_URL') . '/login/service/github/callback',
54         'name'          => 'GitHub',
55         'auto_register' => env('GITHUB_AUTO_REGISTER', false),
56         'auto_confirm' => env('GITHUB_AUTO_CONFIRM_EMAIL', false),
57     ],
58
59     'google'   => [
60         'client_id'     => env('GOOGLE_APP_ID', false),
61         'client_secret' => env('GOOGLE_APP_SECRET', false),
62         'redirect'      => env('APP_URL') . '/login/service/google/callback',
63         'name'          => 'Google',
64         'auto_register' => env('GOOGLE_AUTO_REGISTER', false),
65         'auto_confirm' => env('GOOGLE_AUTO_CONFIRM_EMAIL', false),
66         'select_account' => env('GOOGLE_SELECT_ACCOUNT', false),
67     ],
68
69     'slack'   => [
70         'client_id'     => env('SLACK_APP_ID', false),
71         'client_secret' => env('SLACK_APP_SECRET', false),
72         'redirect'      => env('APP_URL') . '/login/service/slack/callback',
73         'name'          => 'Slack',
74         'auto_register' => env('SLACK_AUTO_REGISTER', false),
75         'auto_confirm' => env('SLACK_AUTO_CONFIRM_EMAIL', false),
76     ],
77
78     'facebook'   => [
79         'client_id'     => env('FACEBOOK_APP_ID', false),
80         'client_secret' => env('FACEBOOK_APP_SECRET', false),
81         'redirect'      => env('APP_URL') . '/login/service/facebook/callback',
82         'name'          => 'Facebook',
83         'auto_register' => env('FACEBOOK_AUTO_REGISTER', false),
84         'auto_confirm' => env('FACEBOOK_AUTO_CONFIRM_EMAIL', false),
85     ],
86
87     'twitter'   => [
88         'client_id'     => env('TWITTER_APP_ID', false),
89         'client_secret' => env('TWITTER_APP_SECRET', false),
90         'redirect'      => env('APP_URL') . '/login/service/twitter/callback',
91         'name'          => 'Twitter',
92         'auto_register' => env('TWITTER_AUTO_REGISTER', false),
93         'auto_confirm' => env('TWITTER_AUTO_CONFIRM_EMAIL', false),
94     ],
95
96     'azure'   => [
97         'client_id'     => env('AZURE_APP_ID', false),
98         'client_secret' => env('AZURE_APP_SECRET', false),
99         'tenant'       => env('AZURE_TENANT', false),
100         'redirect'      => env('APP_URL') . '/login/service/azure/callback',
101         'name'          => 'Microsoft Azure',
102         'auto_register' => env('AZURE_AUTO_REGISTER', false),
103         'auto_confirm' => env('AZURE_AUTO_CONFIRM_EMAIL', false),
104     ],
105
106     'okta' => [
107         'client_id' => env('OKTA_APP_ID'),
108         'client_secret' => env('OKTA_APP_SECRET'),
109         'redirect' => env('APP_URL') . '/login/service/okta/callback', 
110         'base_url' => env('OKTA_BASE_URL'), 
111         'name'          => 'Okta',
112         'auto_register' => env('OKTA_AUTO_REGISTER', false),
113         'auto_confirm' => env('OKTA_AUTO_CONFIRM_EMAIL', false),
114     ],
115
116     'gitlab' => [
117         'client_id'     => env('GITLAB_APP_ID'),
118         'client_secret' => env('GITLAB_APP_SECRET'),
119         'redirect'      => env('APP_URL') . '/login/service/gitlab/callback',
120         'instance_uri'  => env('GITLAB_BASE_URI'), // Needed only for self hosted instances
121         'name'          => 'GitLab',
122         'auto_register' => env('GITLAB_AUTO_REGISTER', false),
123         'auto_confirm' => env('GITLAB_AUTO_CONFIRM_EMAIL', false),
124     ],
125
126     'twitch' => [
127         'client_id' => env('TWITCH_APP_ID'),
128         'client_secret' => env('TWITCH_APP_SECRET'),
129         'redirect' => env('APP_URL') . '/login/service/twitch/callback',
130         'name'          => 'Twitch',
131         'auto_register' => env('TWITCH_AUTO_REGISTER', false),
132         'auto_confirm' => env('TWITCH_AUTO_CONFIRM_EMAIL', false),
133     ],
134
135     'discord' => [
136         'client_id' => env('DISCORD_APP_ID'),
137         'client_secret' => env('DISCORD_APP_SECRET'),
138         'redirect' => env('APP_URL') . '/login/service/discord/callback',
139         'name' => 'Discord',
140         'auto_register' => env('DISCORD_AUTO_REGISTER', false),
141         'auto_confirm' => env('DISCORD_AUTO_CONFIRM_EMAIL', false),
142     ],
143
144     'ldap' => [
145         'server' => env('LDAP_SERVER', false),
146         'dn' => env('LDAP_DN', false),
147         'pass' => env('LDAP_PASS', false),
148         'base_dn' => env('LDAP_BASE_DN', false),
149         'user_filter' => env('LDAP_USER_FILTER', '(&(uid=${user}))'),
150         'version' => env('LDAP_VERSION', false),
151         'email_attribute' => env('LDAP_EMAIL_ATTRIBUTE', 'mail'),
152         'follow_referrals' => env('LDAP_FOLLOW_REFERRALS', false),
153                 'user_to_groups' => env('LDAP_USER_TO_GROUPS',false),
154                 'group_attribute' => env('LDAP_GROUP_ATTRIBUTE', 'memberOf'),
155                 'remove_from_groups' => env('LDAP_REMOVE_FROM_GROUPS',false),
156                 'tls_insecure' => env('LDAP_TLS_INSECURE', false),
157         ]
158
159 ];