From ee312eeb0ab399b16a98b11b3087cff4722b5625 Mon Sep 17 00:00:00 2001 From: David Ye Date: Tue, 12 May 2020 02:08:15 -0700 Subject: [PATCH 1/6] Fix typo (#5665) --- docs/3.0.0-beta.x/concepts/policies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/3.0.0-beta.x/concepts/policies.md b/docs/3.0.0-beta.x/concepts/policies.md index 608e0ab225..28514972ba 100644 --- a/docs/3.0.0-beta.x/concepts/policies.md +++ b/docs/3.0.0-beta.x/concepts/policies.md @@ -125,7 +125,7 @@ module.exports = async (ctx, next) => { The policy `isAdmin` located in `./api/restaurant/config/policies/isAdmin.js` will be executed before the `find` action in the `Restaurant.js` controller. -### Using a policy outside it's api +### Using a policy outside its api To use a policy in another api you can reference it with the following syntax: `{apiName}.{policyName}`. From 603ffc18307c5a47370214c24fca93280869b10c Mon Sep 17 00:00:00 2001 From: Alireza Kavian Date: Tue, 12 May 2020 13:50:35 +0430 Subject: [PATCH 2/6] google provider section modified (#5730) The second "Client Id" should be: "Client Secret" --- docs/3.0.0-beta.x/plugins/users-permissions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/3.0.0-beta.x/plugins/users-permissions.md b/docs/3.0.0-beta.x/plugins/users-permissions.md index b41a4ba427..c4f8388644 100644 --- a/docs/3.0.0-beta.x/plugins/users-permissions.md +++ b/docs/3.0.0-beta.x/plugins/users-permissions.md @@ -257,7 +257,7 @@ Then fill the informations: - **Enable**: `ON` - **Client ID**: 226437944084-o2mojv5i4lfnng9q8kq3jkf5v03avemk.apps.googleusercontent.com -- **Client ID**: aiTbMoiuJQflSBy6uQrfgsni +- **Client Secret**: aiTbMoiuJQflSBy6uQrfgsni - **The redirect URL to your front-end app**: `http://localhost:3000/connect/google` ::: From 3b9661acb2ba61ca28795d82b4d5b577374a88ee Mon Sep 17 00:00:00 2001 From: Filipe Medeiros Date: Tue, 12 May 2020 11:03:15 +0100 Subject: [PATCH 3/6] Upgrade dependency version (#6149) * Ok, now I translated from start to finish Should be good to go, some stuff is still in English because it's impossible/worse to translate to PT Signed-off-by: Filipe * Updated the dependency. It's a patch, so it shouldn't break anything at all Signed-off-by: Filipe * Revert "Ok, now I translated from start to finish" This reverts commit 7ea0574db78abb6fc0d328465e618b860fff89bb. Signed-off-by: Filipe --- packages/strapi-plugin-graphql/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi-plugin-graphql/package.json b/packages/strapi-plugin-graphql/package.json index 89fbefd35e..5f4d2003e7 100644 --- a/packages/strapi-plugin-graphql/package.json +++ b/packages/strapi-plugin-graphql/package.json @@ -22,7 +22,7 @@ "graphql-type-json": "0.3.1", "graphql-type-long": "^0.1.1", "koa-compose": "^4.1.0", - "lodash": "4.17.11", + "lodash": "4.17.12", "pluralize": "^7.0.0", "strapi-utils": "3.0.0-beta.20.3" }, From 5235d94dc6dd1df85f0ba48caa6f16927e4c2a1d Mon Sep 17 00:00:00 2001 From: Eddie Palmans Date: Tue, 12 May 2020 12:27:34 +0200 Subject: [PATCH 4/6] Fixed link to deployment guide (#6174) --- docs/3.0.0-beta.x/guides/databases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/3.0.0-beta.x/guides/databases.md b/docs/3.0.0-beta.x/guides/databases.md index a89e6f7543..83bab3bfd3 100644 --- a/docs/3.0.0-beta.x/guides/databases.md +++ b/docs/3.0.0-beta.x/guides/databases.md @@ -4,7 +4,7 @@ Strapi gives you the option to choose the most appropriate database for your pro **MariaDB**. The following documentation covers how to install these databases locally (for development purposes) and on various hosted or cloud server solutions (for staging or production purposes). ::: tip -Deploying **Strapi** itself is covered in the [Deployment Guide](deployment.md). +Deploying **Strapi** itself is covered in the [Deployment Guide](../getting-started/deployment.md). ::: ## SQLite Installation From 30ba7175253af6eb96e1e30793467b7f314896d2 Mon Sep 17 00:00:00 2001 From: Sulakin Vadim Date: Tue, 12 May 2020 15:04:52 +0300 Subject: [PATCH 5/6] fix vk providers (#5783) --- packages/strapi-plugin-users-permissions/services/Providers.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/strapi-plugin-users-permissions/services/Providers.js b/packages/strapi-plugin-users-permissions/services/Providers.js index 9021759037..6405beb47b 100644 --- a/packages/strapi-plugin-users-permissions/services/Providers.js +++ b/packages/strapi-plugin-users-permissions/services/Providers.js @@ -328,8 +328,7 @@ const getProfile = async (provider, query, callback) => { vk.query() .get('users.get') - .auth(access_token) - .qs({ id: query.raw.user_id, v: '5.013' }) + .qs({ access_token, id: query.raw.user_id, v: '5.013' }) .request((err, res, body) => { if (err) { callback(err); From ba6c0b4ba2a1acbd6979456d394eb7f602494baa Mon Sep 17 00:00:00 2001 From: David Thomas Date: Tue, 12 May 2020 10:48:18 -0400 Subject: [PATCH 6/6] Add Twitch auth provider (#6171) * Add Twitch auth provider Signed-off-by: David Thomas * Remove unneeded label exclusion Signed-off-by: David Thomas --- .../admin/src/components/PopUpForm/index.js | 2 + .../admin/src/translations/en.json | 1 + .../config/functions/bootstrap.js | 8 ++++ .../services/Providers.js | 44 +++++++++++++++++++ 4 files changed, 55 insertions(+) diff --git a/packages/strapi-plugin-users-permissions/admin/src/components/PopUpForm/index.js b/packages/strapi-plugin-users-permissions/admin/src/components/PopUpForm/index.js index 0322518d87..2af97fd267 100644 --- a/packages/strapi-plugin-users-permissions/admin/src/components/PopUpForm/index.js +++ b/packages/strapi-plugin-users-permissions/admin/src/components/PopUpForm/index.js @@ -71,6 +71,8 @@ class PopUpForm extends React.Component { return `${strapi.backendURL}/connect/instagram/callback`; case 'vk': return `${strapi.backendURL}/connect/vk/callback`; + case 'twitch': + return `${strapi.backendURL}/connect/twitch/callback`; default: { const value = get(this.props.values, 'callback', ''); diff --git a/packages/strapi-plugin-users-permissions/admin/src/translations/en.json b/packages/strapi-plugin-users-permissions/admin/src/translations/en.json index 8b80cf3b9a..10c6c36039 100644 --- a/packages/strapi-plugin-users-permissions/admin/src/translations/en.json +++ b/packages/strapi-plugin-users-permissions/admin/src/translations/en.json @@ -86,6 +86,7 @@ "PopUpForm.Providers.google.providerConfig.redirectURL": "The redirect URL to add in your Google application configurations", "PopUpForm.Providers.instagram.providerConfig.redirectURL": "The redirect URL to add in your Instagram application configurations", "PopUpForm.Providers.vk.providerConfig.redirectURL": "The redirect URL to add in your VK application configurations", + "PopUpForm.Providers.twitch.providerConfig.redirectURL": "The redirect URL to add in your Twitch application configurations", "PopUpForm.Providers.key.label": "Client ID", "PopUpForm.Providers.key.placeholder": "TEXT", "PopUpForm.Providers.linkedin2.providerConfig.redirectURL": "The redirect URL to add in your Linkedin application configurations", diff --git a/packages/strapi-plugin-users-permissions/config/functions/bootstrap.js b/packages/strapi-plugin-users-permissions/config/functions/bootstrap.js index 77f9ad2f89..cb220ab21f 100644 --- a/packages/strapi-plugin-users-permissions/config/functions/bootstrap.js +++ b/packages/strapi-plugin-users-permissions/config/functions/bootstrap.js @@ -84,6 +84,14 @@ module.exports = async () => { callback: `${strapi.config.server.url}/auth/vk/callback`, scope: ['email'], }, + twitch: { + enabled: false, + icon: 'twitch', + key: '', + secret: '', + callback: `${strapi.config.server.url}/auth/twitch/callback`, + scope: ['user:read:email'], + }, }; const prevGrantConfig = (await pluginStore.get({ key: 'grant' })) || {}; // store grant auth config to db diff --git a/packages/strapi-plugin-users-permissions/services/Providers.js b/packages/strapi-plugin-users-permissions/services/Providers.js index 6405beb47b..b57ade1222 100644 --- a/packages/strapi-plugin-users-permissions/services/Providers.js +++ b/packages/strapi-plugin-users-permissions/services/Providers.js @@ -341,6 +341,50 @@ const getProfile = async (provider, query, callback) => { }); break; } + case 'twitch': { + const twitch = purest({ + provider: 'twitch', + config: { + twitch: { + 'https://api.twitch.tv': { + __domain: { + auth: { + headers: { + Authorization: 'Bearer [0]', + 'Client-ID': '[1]', + }, + }, + }, + 'helix/{endpoint}': { + __path: { + alias: '__default', + }, + }, + 'oauth2/{endpoint}': { + __path: { + alias: 'oauth', + }, + }, + }, + }, + }, + }); + + twitch + .get('users') + .auth(access_token, grant.twitch.key) + .request((err, res, body) => { + if (err) { + callback(err); + } else { + callback(null, { + username: body.data[0].login, + email: body.data[0].email, + }); + } + }); + break; + } default: callback({ message: 'Unknown provider.',