Revamp the authentication setup (#7419)
* feat: Add email pass authentication provider package * feat: Revamp auth module and remove concept of scope * feat: Revamp the auth module to be more standardized in how providers are loaded * feat: Switch from scope to actor type for authentication * feat: Add support for per-actor auth methods * feat: Add emailpass auth provider by default * fix: Add back app_metadata in auth module
This commit is contained in:
@@ -43,14 +43,13 @@ medusaIntegrationTestRunner({
|
||||
await authService.create({
|
||||
provider: "emailpass",
|
||||
entity_id: email,
|
||||
scope: "admin",
|
||||
provider_metadata: {
|
||||
password: passwordHash,
|
||||
},
|
||||
})
|
||||
|
||||
const response = await api
|
||||
.post(`/auth/admin/emailpass`, {
|
||||
.post(`/auth/user/emailpass`, {
|
||||
email: email,
|
||||
password: password,
|
||||
})
|
||||
@@ -75,14 +74,13 @@ medusaIntegrationTestRunner({
|
||||
await authService.create({
|
||||
provider: "emailpass",
|
||||
entity_id: email,
|
||||
scope: "admin",
|
||||
provider_metadata: {
|
||||
password: passwordHash,
|
||||
},
|
||||
})
|
||||
|
||||
const error = await api
|
||||
.post(`/auth/admin/emailpass`, {
|
||||
.post(`/auth/user/emailpass`, {
|
||||
email: email,
|
||||
password: "incorrect-password",
|
||||
})
|
||||
@@ -101,7 +99,7 @@ medusaIntegrationTestRunner({
|
||||
).toString("base64")
|
||||
|
||||
const error = await api
|
||||
.post(`/auth/admin/emailpass`, {
|
||||
.post(`/auth/user/emailpass`, {
|
||||
email: "should-not-exist",
|
||||
password: "should-not-exist",
|
||||
})
|
||||
|
||||
@@ -38,7 +38,6 @@ medusaIntegrationTestRunner({
|
||||
const authIdentity = await authService.create({
|
||||
entity_id: "store_user",
|
||||
provider: "emailpass",
|
||||
scope: "store",
|
||||
})
|
||||
|
||||
const token = jwt.sign(authIdentity, http.jwtSecret)
|
||||
|
||||
@@ -27,7 +27,7 @@ medusaIntegrationTestRunner({
|
||||
})
|
||||
|
||||
it("should fail to accept an invite with an invalid invite token", async () => {
|
||||
const authResponse = await api.post(`/auth/admin/emailpass`, {
|
||||
const authResponse = await api.post(`/auth/user/emailpass`, {
|
||||
email: "potential_member@test.com",
|
||||
password: "supersecret",
|
||||
})
|
||||
@@ -58,7 +58,7 @@ medusaIntegrationTestRunner({
|
||||
email: "potential_member@test.com",
|
||||
})
|
||||
|
||||
const authResponse = await api.post(`/auth/admin/emailpass`, {
|
||||
const authResponse = await api.post(`/auth/user/emailpass`, {
|
||||
email: "potential_member@test.com",
|
||||
password: "supersecret",
|
||||
})
|
||||
@@ -92,7 +92,7 @@ medusaIntegrationTestRunner({
|
||||
email: "potential_member@test.com",
|
||||
})
|
||||
|
||||
const authResponse = await api.post(`/auth/admin/emailpass`, {
|
||||
const authResponse = await api.post(`/auth/user/emailpass`, {
|
||||
email: "some-email@test.com",
|
||||
password: "supersecret",
|
||||
})
|
||||
|
||||
@@ -25,7 +25,6 @@ export const createAuthenticatedCustomer = async (
|
||||
const authIdentity = await authService.create({
|
||||
entity_id: "store_user",
|
||||
provider: "emailpass",
|
||||
scope: "store",
|
||||
})
|
||||
|
||||
// Ideally we simulate a signup process than manually linking here.
|
||||
@@ -45,8 +44,6 @@ export const createAuthenticatedCustomer = async (
|
||||
actor_id: customer.id,
|
||||
actor_type: "customer",
|
||||
auth_identity_id: authIdentity.id,
|
||||
scope: "store",
|
||||
app_metadata: {},
|
||||
},
|
||||
http.jwtSecret
|
||||
)
|
||||
|
||||
@@ -47,22 +47,7 @@ module.exports = {
|
||||
medusa_v2: enableMedusaV2,
|
||||
},
|
||||
modules: {
|
||||
[Modules.AUTH]: {
|
||||
scope: "internal",
|
||||
resources: "shared",
|
||||
resolve: "@medusajs/auth",
|
||||
options: {
|
||||
providers: [
|
||||
{
|
||||
name: "emailpass",
|
||||
scopes: {
|
||||
admin: {},
|
||||
store: {},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
[Modules.AUTH]: true,
|
||||
[Modules.USER]: {
|
||||
scope: "internal",
|
||||
resources: "shared",
|
||||
|
||||
Reference in New Issue
Block a user