feat: Guest email authentication (#1088)
* feat: API endpoints for email signin * fix: After testing * Initial signin flow working * move shared middleware * feat: Add guest signin toggle, obey on endpoints * feat: Basic email signin when enabled * Improve guest signin email Disable double signin with JWT * fix: Simple rate limiting * create placeholder users in db * fix: Give invited users default avatar add invited users to people settings * test * add transaction * tmp: test CI * derp * md5 * urgh * again * test: pass * test * fix: Remove usage of data values * guest signin page * Visually separator 'Invited' from other people tabs * fix: Edge case attempting SSO signin for guest email account * fix: Correctly set email auth method to cookie * Improve rate limit error display * lint: cleanup / comments * Improve invalid token error display * style tweaks * pass guest value to subdomain * Restore copy link option * feat: Allow invite revoke from people management * fix: Incorrect users email schema does not allow for user deletion * lint * fix: avatarUrl for deleted user failure * change default to off for guest invites * fix: Changing security settings wipes subdomain * fix: user delete permissioning * test: Add user.invite specs
This commit is contained in:
@ -10,6 +10,7 @@ import EmptySpace from './components/EmptySpace';
|
||||
|
||||
export type Props = {
|
||||
name: string,
|
||||
guest: boolean,
|
||||
actorName: string,
|
||||
actorEmail: string,
|
||||
teamName: string,
|
||||
@ -21,6 +22,7 @@ export const inviteEmailText = ({
|
||||
actorName,
|
||||
actorEmail,
|
||||
teamUrl,
|
||||
guest,
|
||||
}: Props) => `
|
||||
Join ${teamName} on Outline
|
||||
|
||||
@ -28,7 +30,7 @@ ${actorName} (${
|
||||
actorEmail
|
||||
}) has invited you to join Outline, a place for your team to build and share knowledge.
|
||||
|
||||
Join now: ${teamUrl}
|
||||
Join now: ${teamUrl}${guest ? '?guest=true' : ''}
|
||||
`;
|
||||
|
||||
export const InviteEmail = ({
|
||||
@ -36,6 +38,7 @@ export const InviteEmail = ({
|
||||
actorName,
|
||||
actorEmail,
|
||||
teamUrl,
|
||||
guest,
|
||||
}: Props) => {
|
||||
return (
|
||||
<EmailTemplate>
|
||||
@ -49,7 +52,9 @@ export const InviteEmail = ({
|
||||
</p>
|
||||
<EmptySpace height={10} />
|
||||
<p>
|
||||
<Button href={teamUrl}>Join now</Button>
|
||||
<Button href={`${teamUrl}${guest ? '?guest=true' : ''}`}>
|
||||
Join now
|
||||
</Button>
|
||||
</p>
|
||||
</Body>
|
||||
|
||||
|
Reference in New Issue
Block a user