mirror of
https://github.com/outline/outline.git
synced 2026-06-13 11:25:03 +03:00
Refactor of OAuth account linking flows (#12246)
* Refactor of OAuth account linking flows * PR feedback
This commit is contained in:
@@ -2,19 +2,21 @@ import * as React from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import Button, { type Props } from "~/components/Button";
|
||||
import useCurrentTeam from "~/hooks/useCurrentTeam";
|
||||
import { generateOAuthStateNonce } from "~/utils/oauth";
|
||||
import { redirectTo } from "~/utils/urls";
|
||||
import { GitHubUtils } from "../../shared/GitHubUtils";
|
||||
import { GitHubOAuthNonceCookie, GitHubUtils } from "../../shared/GitHubUtils";
|
||||
|
||||
export function GitHubConnectButton(props: Props<HTMLButtonElement>) {
|
||||
const { t } = useTranslation();
|
||||
const team = useCurrentTeam();
|
||||
|
||||
const handleConnect = React.useCallback(() => {
|
||||
const nonce = generateOAuthStateNonce(GitHubOAuthNonceCookie);
|
||||
redirectTo(GitHubUtils.authUrl({ teamId: team.id, nonce }));
|
||||
}, [team.id]);
|
||||
|
||||
return (
|
||||
<Button
|
||||
onClick={() => redirectTo(GitHubUtils.authUrl(team.id))}
|
||||
neutral
|
||||
{...props}
|
||||
>
|
||||
<Button onClick={handleConnect} neutral {...props}>
|
||||
{t("Connect")}
|
||||
</Button>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user