nodebb-plugin-sso-facebook 3.5.2 → 3.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.gitattributes CHANGED
@@ -1,22 +1,22 @@
1
- # Auto detect text files and perform LF normalization
2
- * text=auto
3
-
4
- # Custom for Visual Studio
5
- *.cs diff=csharp
6
- *.sln merge=union
7
- *.csproj merge=union
8
- *.vbproj merge=union
9
- *.fsproj merge=union
10
- *.dbproj merge=union
11
-
12
- # Standard to msysgit
13
- *.doc diff=astextplain
14
- *.DOC diff=astextplain
15
- *.docx diff=astextplain
16
- *.DOCX diff=astextplain
17
- *.dot diff=astextplain
18
- *.DOT diff=astextplain
19
- *.pdf diff=astextplain
20
- *.PDF diff=astextplain
21
- *.rtf diff=astextplain
22
- *.RTF diff=astextplain
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
3
+
4
+ # Custom for Visual Studio
5
+ *.cs diff=csharp
6
+ *.sln merge=union
7
+ *.csproj merge=union
8
+ *.vbproj merge=union
9
+ *.fsproj merge=union
10
+ *.dbproj merge=union
11
+
12
+ # Standard to msysgit
13
+ *.doc diff=astextplain
14
+ *.DOC diff=astextplain
15
+ *.docx diff=astextplain
16
+ *.DOCX diff=astextplain
17
+ *.dot diff=astextplain
18
+ *.DOT diff=astextplain
19
+ *.pdf diff=astextplain
20
+ *.PDF diff=astextplain
21
+ *.rtf diff=astextplain
22
+ *.RTF diff=astextplain
package/LICENSE CHANGED
@@ -1,8 +1,8 @@
1
- Copyright (c) 2013-2014, psychobunny <psycho.bunny@hotmail.com>
2
- All rights reserved.
3
-
4
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5
-
6
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
1
+ Copyright (c) 2013-2014, psychobunny <psycho.bunny@hotmail.com>
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5
+
6
+ Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7
+ Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8
8
  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
- # NodeBB Facebook SSO
2
-
3
- NodeBB Plugin that allows users to login/register via their Facebook account.
4
-
5
- ## Installation
6
-
1
+ # NodeBB Facebook SSO
2
+
3
+ NodeBB Plugin that allows users to login/register via their Facebook account.
4
+
5
+ ## Installation
6
+
7
7
  npm install nodebb-plugin-sso-facebook
package/library.js CHANGED
@@ -144,7 +144,7 @@
144
144
 
145
145
  Facebook.appendUserHashWhitelist = function (data, callback) {
146
146
  data.whitelist.push('fbid');
147
- return setImmediate(callback, null, data);
147
+ setImmediate(callback, null, data);
148
148
  };
149
149
 
150
150
  Facebook.getAssociation = function (data, callback) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-plugin-sso-facebook",
3
- "version": "3.5.2",
3
+ "version": "3.6.4",
4
4
  "description": "NodeBB Facebook SSO",
5
5
  "main": "library.js",
6
6
  "repository": {
@@ -29,6 +29,6 @@
29
29
  "passport-facebook": "~1.0.2"
30
30
  },
31
31
  "nbbpm": {
32
- "compatibility": "^1.16.0"
32
+ "compatibility": "^1.17.0"
33
33
  }
34
34
  }
package/plugin.json CHANGED
@@ -1,29 +1,29 @@
1
- {
2
- "id": "nodebb-plugin-sso-facebook",
3
- "name": "NodeBB Facebook SSO",
4
- "description": "NodeBB Plugin that allows users to login/register via their Facebook account.",
5
- "url": "https://github.com/julianlam/nodebb-plugin-sso-facebook",
6
- "library": "./library.js",
7
- "templates": "templates",
8
- "hooks": [
9
- { "hook": "static:app.load", "method": "init" },
10
- { "hook": "filter:auth.init", "method": "getStrategy" },
11
- { "hook": "filter:auth.list", "method": "getAssociation" },
12
- { "hook": "filter:admin.header.build", "method": "addMenuItem" },
13
- { "hook": "static:user.delete", "method": "deleteUserData" },
14
- { "hook": "filter:register.interstitial", "method": "prepareInterstitial" },
15
- { "hook": "filter:user.whitelistFields", "method": "appendUserHashWhitelist" }
16
- ],
17
- "acpScripts": [
18
- "static/lib/admin.js"
19
- ],
20
- "scripts": [
21
- "static/lib/main.js"
22
- ],
23
- "less": [
24
- "static/less/style.less"
25
- ],
26
- "staticDirs": {
27
- "images": "static/images"
28
- }
29
- }
1
+ {
2
+ "id": "nodebb-plugin-sso-facebook",
3
+ "name": "NodeBB Facebook SSO",
4
+ "description": "NodeBB Plugin that allows users to login/register via their Facebook account.",
5
+ "url": "https://github.com/julianlam/nodebb-plugin-sso-facebook",
6
+ "library": "./library.js",
7
+ "templates": "templates",
8
+ "hooks": [
9
+ { "hook": "static:app.load", "method": "init" },
10
+ { "hook": "filter:auth.init", "method": "getStrategy" },
11
+ { "hook": "filter:auth.list", "method": "getAssociation" },
12
+ { "hook": "filter:admin.header.build", "method": "addMenuItem" },
13
+ { "hook": "static:user.delete", "method": "deleteUserData" },
14
+ { "hook": "filter:register.interstitial", "method": "prepareInterstitial" },
15
+ { "hook": "filter:user.whitelistFields", "method": "appendUserHashWhitelist" }
16
+ ],
17
+ "modules": {
18
+ "../admin/plugins/sso-facebook.js": "static/lib/admin.js"
19
+ },
20
+ "scripts": [
21
+ "static/lib/main.js"
22
+ ],
23
+ "less": [
24
+ "static/less/style.less"
25
+ ],
26
+ "staticDirs": {
27
+ "images": "static/images"
28
+ }
29
+ }
@@ -1,28 +1,28 @@
1
- .facebook-login-button {
2
- display: inline-block;
3
- // background-color: #4267B2;
4
- }
5
-
6
- .alt-logins .facebook a div {
7
- border-radius: 3px;
8
- border: 1px solid #4267B2;
9
- color: #4267B2;
10
- padding: 3px;
11
- background-color: #fff;
12
- transition: all 100ms linear;
13
-
14
- img {
15
- width: 32px;
16
- height: 32px;
17
- }
18
-
19
- span {
20
- margin: 0 0.7em;
21
- font-weight: 600;
22
- }
23
-
24
- &:hover {
25
- background-color: #4267B2;
26
- color: #fff;
27
- }
1
+ .facebook-login-button {
2
+ display: inline-block;
3
+ // background-color: #4267B2;
4
+ }
5
+
6
+ .alt-logins .facebook a div {
7
+ border-radius: 3px;
8
+ border: 1px solid #4267B2;
9
+ color: #4267B2;
10
+ padding: 3px;
11
+ background-color: #fff;
12
+ transition: all 100ms linear;
13
+
14
+ img {
15
+ width: 32px;
16
+ height: 32px;
17
+ }
18
+
19
+ span {
20
+ margin: 0 0.7em;
21
+ font-weight: 600;
22
+ }
23
+
24
+ &:hover {
25
+ background-color: #4267B2;
26
+ color: #fff;
27
+ }
28
28
  }
@@ -1,26 +1,26 @@
1
- define('admin/plugins/sso-facebook', ['settings'], function(Settings) {
2
- 'use strict';
3
- /* globals $, app, socket, require */
4
-
5
- var ACP = {};
6
-
7
- ACP.init = function() {
8
- Settings.load('sso-facebook', $('.sso-facebook-settings'));
9
-
10
- $('#save').on('click', function() {
11
- Settings.save('sso-facebook', $('.sso-facebook-settings'), function() {
12
- app.alert({
13
- type: 'success',
14
- alert_id: 'sso-facebook-saved',
15
- title: 'Settings Saved',
16
- message: 'Please reload your NodeBB to apply these settings',
17
- clickfn: function() {
18
- socket.emit('admin.reload');
19
- }
20
- });
21
- });
22
- });
23
- };
24
-
25
- return ACP;
1
+ define('admin/plugins/sso-facebook', ['settings'], function(Settings) {
2
+ 'use strict';
3
+ /* globals $, app, socket, require */
4
+
5
+ var ACP = {};
6
+
7
+ ACP.init = function() {
8
+ Settings.load('sso-facebook', $('.sso-facebook-settings'));
9
+
10
+ $('#save').on('click', function() {
11
+ Settings.save('sso-facebook', $('.sso-facebook-settings'), function() {
12
+ app.alert({
13
+ type: 'success',
14
+ alert_id: 'sso-facebook-saved',
15
+ title: 'Settings Saved',
16
+ message: 'Please reload your NodeBB to apply these settings',
17
+ clickfn: function() {
18
+ socket.emit('admin.reload');
19
+ }
20
+ });
21
+ });
22
+ });
23
+ };
24
+
25
+ return ACP;
26
26
  });
@@ -1,21 +1,15 @@
1
1
  'use strict';
2
2
 
3
- $(window).on('action:script.load', function (ev, data) {
4
- data.scripts.push('sso-facebook/login');
3
+ require(['hooks'], (hooks) => {
4
+ hooks.on('action:ajaxify.end', ({ tpl_url }) => {
5
+ if (tpl_url === 'login') {
6
+ var replaceEl = $('.alt-logins .facebook a i');
7
+ var replacement = document.createElement('div');
8
+ var image = document.createElement('img');
9
+ image.src = config.relative_path + '/plugins/nodebb-plugin-sso-facebook/images/f-ogo_RGB_HEX-58.svg';
10
+ replaceEl.replaceWith(replacement);
11
+ replacement.appendChild(image);
12
+ $('<span>Continue with Facebook</span>').appendTo(replacement);
13
+ }
14
+ });
5
15
  });
6
-
7
- define('sso-facebook/login', function () {
8
- var Login = {};
9
-
10
- Login.init = function () {
11
- var replaceEl = $('.alt-logins .facebook a i');
12
- var replacement = document.createElement('div');
13
- var image = document.createElement('img');
14
- image.src = config.relative_path + '/plugins/nodebb-plugin-sso-facebook/images/f-ogo_RGB_HEX-58.svg';
15
- replaceEl.replaceWith(replacement);
16
- replacement.appendChild(image);
17
- $('<span>Continue with Facebook</span>').appendTo(replacement);
18
- }
19
-
20
- return Login;
21
- })
@@ -1,56 +1,56 @@
1
- <div class="row">
2
- <div class="col-xs-12">
3
- <div class="panel panel-default">
4
- <div class="panel-heading">Facebook Social Authentication</div>
5
- <div class="panel-body">
6
- <p>
7
- Create a <strong>Facebook Application</strong> via the
8
- <a href="https://developers.facebook.com/apps/">Facebook Developers Page</a> and
9
- then paste your application details here.
10
- </p>
11
- <ul>
12
- <li>
13
- You will need to enable <strong>"Client OAuth Login"</strong> and <strong>"Web OAuth Login"</strong>
14
- from the "Facebook Login" product
15
- </li>
16
- <li>
17
- You will need to paste <code>{baseUrl}/auth/facebook/callback</code> into the
18
- <strong>"Valid OAuth Redirect URIs"</strong> field.
19
- </li>
20
- </ul>
21
- </p>
22
- <form role="form" class="sso-facebook-settings">
23
- <div class="form-group">
24
- <label for="app_id">Application ID</label>
25
- <input type="text" id="app_id" name="app_id" title="Application ID" class="form-control" placeholder="Application ID"><br />
26
- </div>
27
- <div class="form-group">
28
- <label for="secret">Secret</label>
29
- <input type="text" id="secret" name="secret" title="Secret" class="form-control" placeholder="Secret">
30
- </div>
31
- <div class="checkbox">
32
- <label for="autoconfirm" class="mdl-switch mdl-js-switch mdl-js-ripple-effect">
33
- <input type="checkbox" class="mdl-switch__input" id="autoconfirm" name="autoconfirm" />
34
- <span class="mdl-switch__label">Skip email verification for people who register using SSO?</span>
35
- </label>
36
- </div>
37
- <div class="checkbox">
38
- <label for="disableRegistration" class="mdl-switch mdl-js-switch mdl-js-ripple-effect">
39
- <input type="checkbox" class="mdl-switch__input" id="disableRegistration" name="disableRegistration" />
40
- <span class="mdl-switch__label">Disable user registration via SSO</span>
41
- </label>
42
- </div>
43
- <p class="help-block">
44
- Restricting registration means that only registered users can associate their account with this SSO strategy.
45
- This restriction is useful if you have users bypassing registration controls by using social media accounts, or
46
- if you wish to use the NodeBB registration queue.
47
- </p>
48
- </form>
49
- </div>
50
- </div>
51
- </div>
52
- </div>
53
-
54
- <button id="save" class="floating-button mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored">
55
- <i class="material-icons">save</i>
56
- </button>
1
+ <div class="row">
2
+ <div class="col-xs-12">
3
+ <div class="panel panel-default">
4
+ <div class="panel-heading">Facebook Social Authentication</div>
5
+ <div class="panel-body">
6
+ <p>
7
+ Create a <strong>Facebook Application</strong> via the
8
+ <a href="https://developers.facebook.com/apps/">Facebook Developers Page</a> and
9
+ then paste your application details here.
10
+ </p>
11
+ <ul>
12
+ <li>
13
+ You will need to enable <strong>"Client OAuth Login"</strong> and <strong>"Web OAuth Login"</strong>
14
+ from the "Facebook Login" product
15
+ </li>
16
+ <li>
17
+ You will need to paste <code>{baseUrl}/auth/facebook/callback</code> into the
18
+ <strong>"Valid OAuth Redirect URIs"</strong> field.
19
+ </li>
20
+ </ul>
21
+ </p>
22
+ <form role="form" class="sso-facebook-settings">
23
+ <div class="form-group">
24
+ <label for="app_id">Application ID</label>
25
+ <input type="text" id="app_id" name="app_id" title="Application ID" class="form-control" placeholder="Application ID"><br />
26
+ </div>
27
+ <div class="form-group">
28
+ <label for="secret">Secret</label>
29
+ <input type="text" id="secret" name="secret" title="Secret" class="form-control" placeholder="Secret">
30
+ </div>
31
+ <div class="checkbox">
32
+ <label for="autoconfirm" class="mdl-switch mdl-js-switch mdl-js-ripple-effect">
33
+ <input type="checkbox" class="mdl-switch__input" id="autoconfirm" name="autoconfirm" />
34
+ <span class="mdl-switch__label">Skip email verification for people who register using SSO?</span>
35
+ </label>
36
+ </div>
37
+ <div class="checkbox">
38
+ <label for="disableRegistration" class="mdl-switch mdl-js-switch mdl-js-ripple-effect">
39
+ <input type="checkbox" class="mdl-switch__input" id="disableRegistration" name="disableRegistration" />
40
+ <span class="mdl-switch__label">Disable user registration via SSO</span>
41
+ </label>
42
+ </div>
43
+ <p class="help-block">
44
+ Restricting registration means that only registered users can associate their account with this SSO strategy.
45
+ This restriction is useful if you have users bypassing registration controls by using social media accounts, or
46
+ if you wish to use the NodeBB registration queue.
47
+ </p>
48
+ </form>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </div>
53
+
54
+ <button id="save" class="floating-button mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored">
55
+ <i class="material-icons">save</i>
56
+ </button>
@@ -1,7 +1,7 @@
1
- <div class="form-group">
2
- <label for="email">Email Address</label>
3
- <input type="email" id="email" name="email" class="form-control" />
4
- <p class="help-block">
5
- The forum administrator has required an email address for all users registering via Facebook.
6
- </p>
7
- </div>
1
+ <div class="form-group">
2
+ <label for="email">Email Address</label>
3
+ <input type="email" id="email" name="email" class="form-control" />
4
+ <p class="help-block">
5
+ The forum administrator has required an email address for all users registering via Facebook.
6
+ </p>
7
+ </div>
@@ -1,17 +1,17 @@
1
- <div class="col-xs-12 col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3">
2
- <div class="panel panel-default">
3
- <div class="panel-heading">
4
- <h3 class="panel-title">[[user:sso.dissociate-confirm-title]]</h3>
5
- </div>
6
- <div class="panel-body">
7
- [[user:sso.dissociate-confirm, {service}]]
8
-
9
- <hr>
10
-
11
- <form method="post">
12
- <input type="hidden" name="_csrf" value="{config.csrf_token}" />
13
- <button class="btn btn-danger">[[user:sso.dissociate]]</button>
14
- </form>
15
- </div>
16
- </div>
1
+ <div class="col-xs-12 col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3">
2
+ <div class="panel panel-default">
3
+ <div class="panel-heading">
4
+ <h3 class="panel-title">[[user:sso.dissociate-confirm-title]]</h3>
5
+ </div>
6
+ <div class="panel-body">
7
+ [[user:sso.dissociate-confirm, {service}]]
8
+
9
+ <hr>
10
+
11
+ <form method="post">
12
+ <input type="hidden" name="_csrf" value="{config.csrf_token}" />
13
+ <button class="btn btn-danger">[[user:sso.dissociate]]</button>
14
+ </form>
15
+ </div>
16
+ </div>
17
17
  </div>