Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

oauth2: add device flow support #356

Closed
wants to merge 1 commit into from
Closed

Conversation

centimitr
Copy link

draft-ietf-oauth-device-flow
https://tools.ietf.org/html/draft-ietf-oauth-device-flow-13

Draft: device flow is still a draft, but it is a very handy flow for many practical cases.

This pr includes an early stage implementation of the device flow, according to the draft, and it works with Azure AD. I am going to add tests and doing some refactor, like renaming AuthCodeOption with type alias etc. I am looking for the time it can be merged as a standard.

@googlebot
Copy link

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

@centimitr
Copy link
Author

I signed it!

@googlebot
Copy link

CLAs look good, thanks!

@googlebot googlebot added cla: yes and removed cla: no labels Jan 7, 2019
@gopherbot
Copy link
Contributor

This PR (HEAD: 7cf8880) has been imported to Gerrit for code review.

Please visit https://go-review.googlesource.com/c/oauth2/+/156537 to see it.

Tip: You can toggle comments from me using the comments slash command (e.g. /comments off)
See the Wiki page for more info

@gopherbot
Copy link
Contributor

Message from Gobot Gobot:

Patch Set 1:

Congratulations on opening your first change. Thank you for your contribution!

Next steps:
Within the next week or so, a maintainer will review your change and provide
feedback. See https://golang.org/doc/contribute.html#review for more info and
tips to get your patch through code review.

Most changes in the Go project go through a few rounds of revision. This can be
surprising to people new to the project. The careful, iterative review process
is our way of helping mentor contributors and ensuring that their contributions
have a lasting impact.

During May-July and Nov-Jan the Go project is in a code freeze, during which
little code gets reviewed or merged. If a reviewer responds with a comment like
R=go1.11, it means that this CL will be reviewed as part of the next development
cycle. See https://golang.org/s/release for more details.


Please don’t reply on this GitHub thread. Visit golang.org/cl/156537.
After addressing review feedback, remember to publish your drafts!

@mihaiav
Copy link

mihaiav commented Oct 15, 2019

any chance to have this merged? "device flow" has become quite common.

@mihaiav
Copy link

mihaiav commented Jan 31, 2020

@devbycm I believe you should have a select on <- ctx.Done() inside that loop to check of context cancelation.

"client_id": {c.ClientID},
"grant_type": {"urn:ietf:params:oauth:grant-type:device_code"},
"device_code": {da.DeviceCode},
"code": {da.DeviceCode},

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't believe the code parameter is required in this request - see rfc8628#section-3.4

@gopherbot
Copy link
Contributor

Message from Go Bot:

Patch Set 1:

Congratulations on opening your first change. Thank you for your contribution!

Next steps:
Within the next week or so, a maintainer will review your change and provide
feedback. See https://golang.org/doc/contribute.html#review for more info and
tips to get your patch through code review.

Most changes in the Go project go through a few rounds of revision. This can be
surprising to people new to the project. The careful, iterative review process
is our way of helping mentor contributors and ensuring that their contributions
have a lasting impact.

During May-July and Nov-Jan the Go project is in a code freeze, during which
little code gets reviewed or merged. If a reviewer responds with a comment like
R=go1.11, it means that this CL will be reviewed as part of the next development
cycle. See https://golang.org/s/release for more details.


Please don’t reply on this GitHub thread. Visit golang.org/cl/156537.
After addressing review feedback, remember to publish your drafts!

@mniak
Copy link

mniak commented Feb 7, 2021

Hey, please fix the conflicting file. This feature will be so useful!

@GreyXor
Copy link

GreyXor commented Sep 9, 2021

@centimitr Hello, thanks for this PR. Apart from the conflict, is there anything else missing? any chance to have this merged?

Comment on lines +78 to +80
AuthURL string
DeviceAuthURL string
TokenURL string

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@centimitr these lines are creating a merge conflict, you'd just need to slightly change this bit to match the new version of the file and it'd be a straight merge.

@Morishiri
Copy link

@centimitr are you able to fix the merge conflicts and get this merged?
If no, is it ok to take it over and get this delivered?

@hickford
Copy link
Contributor

hickford commented Sep 7, 2023

Implemented in e3fb0fb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants