Skip to content

Commit 430515e

Browse files
authored
Whitelabel: Authorization + Verce fix (#11086)
* feat: add redirection-based Authorization to white-label domains * refact: request original website from white-label domains * fix: self.crypto bug * test: set-up basic white-label tests * chore: update langs * fix: fail explicitly when requested login is from an untrusted domain * refact: consistent variables * fix: getDomain header access * test: update tests
1 parent 0e69276 commit 430515e

30 files changed

+243
-28
lines changed

components/FeedbackModal.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export function FeedbackModal({
4545
variables: {
4646
score: -1, // the sendSurveyResponse mutation requires a score, but we don't use it here
4747
surveyKey: feedbackKey,
48-
responseId: typeof self !== 'undefined' ? self.crypto.randomUUID() : null, // the Survey component uses this to send multiple responses and have it update the same row in Coda, but here we only send one response
48+
responseId: typeof self !== 'undefined' ? self.crypto?.randomUUID?.() : null, // the Survey component uses this to send multiple responses and have it update the same row in Coda, but here we only send one response
4949
},
5050
});
5151

cypress.config.js

+4
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ module.exports = defineConfig({
2424
screenshotsFolder: 'test/cypress/screenshots',
2525
videosFolder: 'test/cypress/videos',
2626
downloadsFolder: 'test/cypress/downloads',
27+
hosts: {
28+
'local.opencollective': '127.0.0.1',
29+
'local.crooked': '127.0.0.1',
30+
},
2731
e2e: {
2832
setupNodeEvents(on, config) {
2933
// eslint-disable-next-line n/no-unpublished-require

env.js

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ const defaults = {
2929
PDF_SERVICE_URL: 'https://pdf-staging.opencollective.com',
3030
NEXT_PDF_SERVICE_URL: 'https://next-pdf.opencollective.com',
3131
ML_SERVICE_URL: 'https://ml.opencollective.com',
32+
WHITELABEL_DOMAINS: 'http://local.opencollective:3000',
3233
DISABLE_MOCK_UPLOADS: false,
3334
PAYPAL_ENVIRONMENT: 'sandbox',
3435
STRIPE_KEY: 'pk_test_VgSB4VSg2wb5LdAkz7p38Gw8',

lang/ca.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "From",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) has been frozen",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Donation",
11781179
"Download": "Download",
11791180
"DownloadInvoice": "Baixa la factura",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Your magic link is on its way!",
33433344
"SignIn.SentTo": "We've sent it to {email}.",
33443345
"SignIn.SuccessDetails": "You’ll be redirected from the link in the email, you can safely close this tab.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/cs.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "From",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) has been frozen",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Příspěvek",
11781179
"Download": "Stáhnout",
11791180
"DownloadInvoice": "Stáhnout fakturu",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Tvůj magický odkaz je na cestě!",
33433344
"SignIn.SentTo": "We've sent it to {email}.",
33443345
"SignIn.SuccessDetails": "You’ll be redirected from the link in the email, you can safely close this tab.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/de.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "Von",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) wurde eingefroren",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Spende",
11781179
"Download": "Herunterladen",
11791180
"DownloadInvoice": "Rechnung herunterladen",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Ihr magischer Link ist zu Ihnen unterwegs!",
33433344
"SignIn.SentTo": "Wir haben es an {email} gesendet.",
33443345
"SignIn.SuccessDetails": "Sie werden von dem Link in der E-Mail weitergeleitet, Sie können diesen Tab schließen.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/en.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "From",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) has been frozen",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Donation",
11781179
"Download": "Download",
11791180
"DownloadInvoice": "Download invoice",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Your magic link is on its way!",
33433344
"SignIn.SentTo": "We've sent it to {email}.",
33443345
"SignIn.SuccessDetails": "You’ll be redirected from the link in the email, you can safely close this tab.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/es.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "Desde",
11751175
"dMaivT": "Descongelar el colectivo significa que recuperarán el acceso completo a la plataforma.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) ha sido congelado",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Donación",
11781179
"Download": "Descargar",
11791180
"DownloadInvoice": "Descargar factura",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "¡Su enlace mágico está en camino!",
33433344
"SignIn.SentTo": "Lo hemos enviado al {email}.",
33443345
"SignIn.SuccessDetails": "Serás redirigido desde el enlace del correo electrónico, así que puedes cerrar esta pestaña sin problemas.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Más información</Link> sobre nuestro sistema de inicio de sesión.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Colaboración #{id}",

lang/fr.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "De",
11751175
"dMaivT": "Dégeler le Collectif signifie qu'il aura désormais un accès complet à la plate-forme.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) a été gelé",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Don",
11781179
"Download": "Télécharger",
11791180
"DownloadInvoice": "Télécharger la facture",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Votre lien magique est en route !",
33433344
"SignIn.SentTo": "Il a été envoyé à {email}.",
33443345
"SignIn.SuccessDetails": "Vous serez redirigé depuis le lien dans l'email, vous pouvez fermer cet onglet.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>En savoir plus</Link> sur notre système de connexion.",
33463348
"Sioe6W": "La personne que vous invitez à soumettre cette dépense sera invitée à fournir une facture. En avez-vous une ?",
33473349
"Siv4wU": "Contribution #{id}",

lang/he.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "From",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) הוקפא",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "תרומה",
11781179
"Download": "הורדה",
11791180
"DownloadInvoice": "הורדת דרישת תשלום",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "הקישור הקסום שלך בדרך!",
33433344
"SignIn.SentTo": "שלחנו אותו אל {email}.",
33443345
"SignIn.SuccessDetails": "תישלח הפנייה במייל, אפשר לסגור את החלון הזה.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/it.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "Da",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) has been frozen",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Donazione",
11781179
"Download": "Scarica",
11791180
"DownloadInvoice": "Scarica fattura",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Your magic link is on its way!",
33433344
"SignIn.SentTo": "We've sent it to {email}.",
33443345
"SignIn.SuccessDetails": "You’ll be redirected from the link in the email, you can safely close this tab.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/ja.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "From",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) は凍結されています",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "寄付",
11781179
"Download": "ダウンロード",
11791180
"DownloadInvoice": "請求書ダウンロード",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "ログイン用リンクを送信しました!",
33433344
"SignIn.SentTo": "{email} にメールを送信しました。",
33443345
"SignIn.SuccessDetails": "メール内のリンクからリダイレクトされるので、このタブを安全に閉じることができます。",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "ログインシステムについての<Link>詳細</Link>",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/ko.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "From",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) has been frozen",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "기부",
11781179
"Download": "Download",
11791180
"DownloadInvoice": "청구서 다운로드",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "로그인 이메일을",
33433344
"SignIn.SentTo": "{email}로 보냈어요",
33443345
"SignIn.SuccessDetails": "이메일로 발송된 링크를 클릭하면 로그인할 수 있어요.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/nl.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "Van",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) has been frozen",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Donatie",
11781179
"Download": "Download",
11791180
"DownloadInvoice": "Download invoice",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Jouw magische link is onderweg!",
33433344
"SignIn.SentTo": "We hebben het naar {email} gestuurd.",
33443345
"SignIn.SuccessDetails": "You’ll be redirected from the link in the email, you can safely close this tab.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/pl.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "Od",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) zostało zawieszone",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Darowizna",
11781179
"Download": "Pobierz",
11791180
"DownloadInvoice": "Pobierz fakturę",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Twój magiczny link jest w drodze!",
33433344
"SignIn.SentTo": "Wysłaliśmy na adres {email}.",
33443345
"SignIn.SuccessDetails": "Zostaniesz przekierowany z linku w wiadomości e-mail, możesz bezpiecznie zamknąć tę kartę.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Dowiedz się więcej</Link> o naszym systemie logowania.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/pt-BR.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "De",
11751175
"dMaivT": "Desbloquear os colectivos que recuperarão o pleno acesso à plataforma.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) foi congelado",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Doação",
11781179
"Download": "Baixar",
11791180
"DownloadInvoice": "Baixar fatura",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Seu link mágico está a caminho!",
33433344
"SignIn.SentTo": "Nós enviamos para {email}.",
33443345
"SignIn.SuccessDetails": "Você será redirecionado a partir do link no e-mail e já pode fechar essa aba.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/pt.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "From",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) has been frozen",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Doação",
11781179
"Download": "Transferir",
11791180
"DownloadInvoice": "Baixar fatura",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Seu link mágico está a caminho!",
33433344
"SignIn.SentTo": "Enviamos para {email}.",
33443345
"SignIn.SuccessDetails": "Você será redirecionado pelo link no email, pode fechar esta aba tranquilamente.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/ru.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "From",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) has been frozen",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Пожертвование",
11781179
"Download": "Скачать",
11791180
"DownloadInvoice": "Скачать счет",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Ваша волшебная ссылка уже в пути!",
33433344
"SignIn.SentTo": "Мы отправили его на {email}.",
33443345
"SignIn.SuccessDetails": "Вы будете перенаправлены по ссылке в письме. Вы можете закрыть эту вкладку.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/sk-SK.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "Od",
11751175
"dMaivT": "Odblokovanie kolektívu znamená, že znova získajú plný prístup k platforme.",
11761176
"Dnbu8Y": "Účet {accountName} (@{accountSlug}) bol zablokovaný",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Príspevok",
11781179
"Download": "Stiahnuť",
11791180
"DownloadInvoice": "Stiahnuť faktúru",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Váš magický odkaz je na ceste!",
33433344
"SignIn.SentTo": "Poslali sme to na adresu {email}.",
33443345
"SignIn.SuccessDetails": "Budete presmerovaní z odkazu v e-maile, túto záložku môžete bez obáv zavrieť.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/sv-SE.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "Från",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) har frysts",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Donation",
11781179
"Download": "Ladda ned",
11791180
"DownloadInvoice": "Ladda ner faktura",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Inloggningslänken är på väg!",
33433344
"SignIn.SentTo": "Vi har skickat det till {email}.",
33443345
"SignIn.SuccessDetails": "Du kommer att omdirigeras från länken i e-postmeddelandet, du kan stänga den här fliken.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/uk.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "From",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) заблоковано",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "Внесок",
11781179
"Download": "Завантажити",
11791180
"DownloadInvoice": "Завантажити рахунок",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "Ваше чарівне посилання вже в дорозі!",
33433344
"SignIn.SentTo": "Ми надіслали його на {email}.",
33443345
"SignIn.SuccessDetails": "You’ll be redirected from the link in the email, you can safely close this tab.",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>Learn more</Link> about our login system.",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

lang/zh.json

+2
Original file line numberDiff line numberDiff line change
@@ -1174,6 +1174,7 @@
11741174
"dM+p3/": "来自",
11751175
"dMaivT": "Unfreezing the collective means they will regain full access to the platform.",
11761176
"Dnbu8Y": "{accountName} (@{accountSlug}) 已被冻结。",
1177+
"domain.notAuthorized": "This page is not available on this domain.",
11771178
"Donation": "捐款",
11781179
"Download": "下载",
11791180
"DownloadInvoice": "下载收据",
@@ -3342,6 +3343,7 @@
33423343
"SignIn.LinkSent": "魔法链接正在路上!",
33433344
"SignIn.SentTo": "我们已发送至 {email}。",
33443345
"SignIn.SuccessDetails": "邮件中的链接将会把你带回这里,你可以安全地关闭此标签。",
3346+
"signin.untrustedDomain": "You've been requested to log-in to Open Collective by an untrusted domain: {domain}",
33453347
"signinLinkSent.": "<Link>了解更多</Link>关于登录系统的信息。",
33463348
"Sioe6W": "The person you are inviting to submit this expense will be asked to provide an invoice. Do you have one?",
33473349
"Siv4wU": "Contribution #{id}",

0 commit comments

Comments
 (0)