From af24b0ef057b0316754e4e8a35a6654b9f0fd883 Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Thu, 30 May 2024 16:47:58 +0200 Subject: [PATCH] gradido_address link always gradido_id, static auto login humhub link --- backend/src/apis/humhub/HumHubClient.ts | 2 +- backend/src/apis/humhub/model/Profile.ts | 6 +----- backend/src/graphql/resolver/UserResolver.ts | 9 +++++++-- frontend/src/pages/Circles.vue | 10 +++++++--- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/backend/src/apis/humhub/HumHubClient.ts b/backend/src/apis/humhub/HumHubClient.ts index 42fe598c2..d2ccf8ec5 100644 --- a/backend/src/apis/humhub/HumHubClient.ts +++ b/backend/src/apis/humhub/HumHubClient.ts @@ -65,7 +65,7 @@ export class HumHubClient { const token = await new SignJWT({ username }) .setProtectedHeader({ alg: 'HS256' }) .setIssuedAt() - .setExpirationTime('2m') + .setExpirationTime(CONFIG.JWT_EXPIRES_IN) .sign(secret) return `${CONFIG.HUMHUB_API_URL}user/auth/external?authclient=jwt&jwt=${token}` diff --git a/backend/src/apis/humhub/model/Profile.ts b/backend/src/apis/humhub/model/Profile.ts index 424c48026..336e8cb80 100644 --- a/backend/src/apis/humhub/model/Profile.ts +++ b/backend/src/apis/humhub/model/Profile.ts @@ -10,11 +10,7 @@ export class Profile { const publishNameLogic = new PublishNameLogic(user) this.firstname = publishNameLogic.getFirstName(user.humhubPublishName as PublishNameType) this.lastname = publishNameLogic.getLastName(user.humhubPublishName as PublishNameType) - if (user.alias && user.alias.length > 2) { - this.gradido_address = CONFIG.COMMUNITY_NAME + '/' + user.alias - } else { - this.gradido_address = CONFIG.COMMUNITY_NAME + '/' + user.gradidoID - } + this.gradido_address = CONFIG.COMMUNITY_NAME + '/' + user.gradidoID } firstname: string diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 352f7ffc9..3abb745e8 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -203,8 +203,13 @@ export class UserResolver { await EVENT_USER_LOGIN(dbUser) // load humhub state if (humhubUserPromise) { - const result = await humhubUserPromise - user.humhubAllowed = result?.result?.account.status === 1 + try { + const result = await humhubUserPromise + user.humhubAllowed = result?.result?.account.status === 1 + } catch (e) { + logger.error("couldn't reach out to humhub, disable for now", e) + user.humhubAllowed = false + } } user.klickTipp = await klicktippStatePromise logger.info(`successful Login: ${JSON.stringify(user, null, 2)}`) diff --git a/frontend/src/pages/Circles.vue b/frontend/src/pages/Circles.vue index ab91b9fe2..e0502ff9a 100644 --- a/frontend/src/pages/Circles.vue +++ b/frontend/src/pages/Circles.vue @@ -12,10 +12,10 @@
{{ $t('circles.button') }} @@ -37,7 +37,8 @@ export default { name: 'Circles', data() { return { - enableButton: true, + enableButton: false, + humhubUri: '', } }, computed: { @@ -55,7 +56,7 @@ export default { fetchPolicy: 'network-only', }) .then(async (result) => { - window.open(result.data.authenticateHumhubAutoLogin, '_blank') + this.humhubUri = result.data.authenticateHumhubAutoLogin this.enableButton = true }) .catch(() => { @@ -67,5 +68,8 @@ export default { }) }, }, + created() { + this.authenticateHumhubAutoLogin() + }, }