After much trial and error, we succeeded!
The following points were the main points of modification
Modify src/extensions/users-permissions/strapi-server.js as follows
"use strict";
module.exports = (plugin) => {
console.log("strapi-server.js", plugin.services.toString());
plugin.bootstrap = require("./server/bootstrap");
plugin.services["providers"] = require("./server/services/providers");
plugin.services["providers-registry"] = require("./server/services/providers-registry");
return plugin;
};
src/extensions/users-permissions/server/bootstrap/index.js
const grantConfig = {
...getGrantConfig(baseURL),
line: {
enabled: true,
state: true,
nonce: true,
oauth: 2,
icon: "line",
key: process.env.LINE_OAUTH_KEY,
secret: process.env.LINE_OAUTH_SECRET,
callback: `${baseURL}/line/callback`,
scope: ["openid", "profile", "identify"],
},
};
src/extensions/users-permissions/server/services/providers-registry.js
async line({ accessToken }) {
const line = purest({ provider: "line" });
const me = await line.get("profile").auth(accessToken).request();
return {
username: me.body.displayName,
email: `${me.body.userId}@strapi.io`,
};
},
I think I succeeded in overwriting it by porting providers-registry.js and reloading it again.
I checked Strapi’s Admin Panel and confirmed that the user account has been added.
The rest… Now if only I could figure out how to redirect to the front end after successfully adding an account… perfect!
(under investigation)