- Notifications
You must be signed in to change notification settings - Fork914
Commit8c5e700
authored
feat: support the OAuth2 device flow with GitHub for signing in (#16585)
First PR in a series to address#16230.Introduces support for logging in via the [GitHub OAuth2 DeviceFlow](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps#device-flow).It's previously been possible to configure external auth with the deviceflow, but it's not been possible to use it for logging in. This PRbuilds on the existing support we had to extend it to sign ins.When a user clicks "sign in with GitHub" when device auth is configured,they are redirected to the new `/login/device` page, which makes theflow possible from the client's side. The recording below shows the fullflow.https://github.com/user-attachments/assets/90c06f1f-e42f-43e9-a128-462270c80fddI've also manually tested that it works for converting frompassword-based auth to oauth.Device auth can be enabled by a deployment's admin by setting the`CODER_OAUTH2_GITHUB_DEVICE_FLOW` env variable or a corresponding configsetting.1 parent6607464 commit8c5e700
File tree
24 files changed
+657
-111
lines changed- cli
- testdata
- coderd
- apidoc
- httpmw
- codersdk
- docs/reference
- api
- cli
- enterprise/cli/testdata
- site/src
- api
- queries
- components/GitDeviceAuth
- pages
- ExternalAuthPage
- LoginOAuthDevicePage
24 files changed
+657
-111
lines changedLines changed: 29 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
677 | 677 |
| |
678 | 678 |
| |
679 | 679 |
| |
680 |
| - | |
| 680 | + | |
681 | 681 |
| |
682 | 682 |
| |
683 | 683 |
| |
684 | 684 |
| |
685 | 685 |
| |
| 686 | + | |
686 | 687 |
| |
687 | 688 |
| |
688 | 689 |
| |
| |||
1831 | 1832 |
| |
1832 | 1833 |
| |
1833 | 1834 |
| |
| 1835 | + | |
| 1836 | + | |
1834 | 1837 |
| |
1835 |
| - | |
| 1838 | + | |
1836 | 1839 |
| |
1837 | 1840 |
| |
1838 | 1841 |
| |
| |||
1898 | 1901 |
| |
1899 | 1902 |
| |
1900 | 1903 |
| |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
| 1911 | + | |
| 1912 | + | |
| 1913 | + | |
| 1914 | + | |
1901 | 1915 |
| |
1902 | 1916 |
| |
1903 | 1917 |
| |
| |||
1941 | 1955 |
| |
1942 | 1956 |
| |
1943 | 1957 |
| |
| 1958 | + | |
| 1959 | + | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
| 1968 | + | |
| 1969 | + | |
| 1970 | + | |
1944 | 1971 |
| |
1945 | 1972 |
| |
1946 | 1973 |
| |
|
Lines changed: 3 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
498 | 498 |
| |
499 | 499 |
| |
500 | 500 |
| |
| 501 | + | |
| 502 | + | |
| 503 | + | |
501 | 504 |
| |
502 | 505 |
| |
503 | 506 |
| |
|
Lines changed: 3 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
262 | 262 |
| |
263 | 263 |
| |
264 | 264 |
| |
| 265 | + | |
| 266 | + | |
| 267 | + | |
265 | 268 |
| |
266 | 269 |
| |
267 | 270 |
| |
|
Lines changed: 28 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.
Lines changed: 24 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1106 | 1106 |
| |
1107 | 1107 |
| |
1108 | 1108 |
| |
| 1109 | + | |
1109 | 1110 |
| |
1110 | 1111 |
| |
1111 | 1112 |
| |
|
Lines changed: 10 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
167 | 167 |
| |
168 | 168 |
| |
169 | 169 |
| |
170 |
| - | |
171 |
| - | |
172 |
| - | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
173 | 180 |
| |
174 | 181 |
| |
175 | 182 |
| |
|
Lines changed: 75 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
748 | 748 |
| |
749 | 749 |
| |
750 | 750 |
| |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
751 | 755 |
| |
752 | 756 |
| |
753 | 757 |
| |
754 | 758 |
| |
755 | 759 |
| |
756 | 760 |
| |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
757 | 777 |
| |
758 | 778 |
| |
759 | 779 |
| |
| |||
786 | 806 |
| |
787 | 807 |
| |
788 | 808 |
| |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
789 | 856 |
| |
790 | 857 |
| |
791 | 858 |
| |
| |||
1016 | 1083 |
| |
1017 | 1084 |
| |
1018 | 1085 |
| |
1019 |
| - | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
1020 | 1094 |
| |
1021 | 1095 |
| |
1022 | 1096 |
| |
|
Lines changed: 87 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
22 | 22 |
| |
23 | 23 |
| |
24 | 24 |
| |
| 25 | + | |
25 | 26 |
| |
26 | 27 |
| |
27 | 28 |
| |
| |||
882 | 883 |
| |
883 | 884 |
| |
884 | 885 |
| |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
885 | 972 |
| |
886 | 973 |
| |
887 | 974 |
| |
|
0 commit comments
Comments
(0)