Итак, как следует из названия, я ищу способ интегрировать свою собственную службу аутентификации в сервер синтаксического анализа, который устанавливается внутри контейнера докера. Эта аутентификация в основном является реализацией OpenID KeyCloak.
Дело в том, что у меня нет (и было бы лучше, если бы моя архитектура этого не делала), чтобы сервер синтаксического анализа обслуживался с помощью express на моей локальной машине.
До сих пор я пытался найти в Интернете, прочитать проблемы, прочитать документы сервера разбора на JavaScript, а также руководство и другие материалы, чтобы узнать, как мне этого добиться.
Кажется, не имеет значения, что я делаю, в конце каждого теста я получаю 252 This authentication method is unsupported
ошибку! (это происходит, даже если я использую facebook
, oauth
, oauth2
и т. д.).
Итак, прямо сейчас, сервис docker-compose выглядит так:
parse-server:
image: parseplatform/parse-server
ports:
- "${SERVER_PORT}:1337"
restart: "always"
volumes:
- ./server/parse/custom-auth:/parse-server/custom-auth
depends_on:
- mongodb
links:
- mongodb:mongo
environment:
- PARSE_SERVER_APPLICATION_ID=${APP_ID}
- PARSE_SERVER_MASTER_KEY=${MASTER_KEY}
- PARSE_SERVER_DATABASE_URI=mongodb://mongo:${MONGO_PORT}/dev
- PARSE_SERVER_START_LIVE_QUERY_SERVER=1
- PARSE_SERVER_LIVE_QUERY={"classNames":${LIVE_QUERY_CLASSES}}
- PARSE_SERVER_MOUNT_GRAPHQL=${GQL_API}
- PARSE_SERVER_MOUNT_PLAYGROUND=${GQL_PLAYGROUND}
- PARSE_SERVER_AUTH_PROVIDERS={"swwwan-mail-auth":{"module":"/parse-server/custom-auth/swwwan-mail-auth/index.js"}}
и часть входа / регистрации:
export const loginWithParse = async (account: IUserColumnTypes) => {
if (account.username === null || account.password === null) {
throw "validation failed";
}
// @ts-ignore
const loggedIn = await Parse.User.logInWith("swwwan.mail-auth", {
authData: {
id: "",
access_token: "",
},
});
console.log({ loggedIn });
//return await Parse.User.logIn(account.username, account.password);
};
другая альтернатива для входа / регистрации:
export const loginWithParse = async (account: IUserColumnTypes) => {
if (account.username === null || account.password === null) {
throw "validation failed";
}
const u = new Parse.User();
u._linkWith("swwwan-mail-auth", {
authData: {
id: "tester",
access_token: "sample_access_token",
},
})
.then(res => console.log(res))
.catch(e => console.log(e));
//return await Parse.User.logIn(account.username, account.password);
};
ОБНОВЛЕНИЕ: с помощью второй альтернативы, я на самом деле получаюошибка:
error: Parse error: Invalid key name: authData.swwwan-mail-auth.id {"code":105,"stack":"Error: Invalid key name: authData.swwwan-mail-auth.id
Есть ли способ заставить его работать? возможно я что-то здесь упускаю.
tnx:)