Socket
Socket
Sign inDemoInstall

github.com/nmrshll/oauth2-noserver

Package Overview
Dependencies
0
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    github.com/nmrshll/oauth2-noserver


Version published

Readme

Source

Go Report Card

oauth2-noserver

Simplifying the oauth2 auth flow for desktop / cli apps that have no server side.


While oauth works fine for apps the have a server side, I personally find it a pain to use when developing simple desktop or cli applications.
That's why needed something to turn a complete oauth flow into a one-liner (well, that's clearly exaggerated, but it's barely more).

So here's how it works !

Installation

Run go get -u github.com/nmrshll/oauth2-noserver

Try out the included example with make example

Usage

1. Create an oauth app on the website/service you want to authenticate into

You must set the redirection URL to http://127.0.0.1:14565/oauth/callback for this library to function properly.

bitbucket example

Once done you should get credentials (client id and client secret) to use in your code.

2. From your Go program, authenticate your user like this :
func main() {
	conf := &oauth2.Config{
		ClientID:     "________________",            // also known as client key sometimes
		ClientSecret: "___________________________", // also known as secret key
		Scopes:       []string{"account"},
		Endpoint: oauth2.Endpoint{
			AuthURL:  "https://bitbucket.org/site/oauth2/authorize",
			TokenURL: "https://bitbucket.org/site/oauth2/access_token",
		},
	}

	client, err := oauth2ns.AuthenticateUser(conf)
	if err != nil {
		log.Fatal(err)
	}

	// use client.Get / client.Post for further requests, the token will automatically be there
	_, _ = client.Get("/auth-protected-path")
}

The AuthURL and TokenURL can be found in the service's oauth documentation.

Contributing

Have improvement ideas or want to help ? Please start by opening an issue

Used in:

License: MIT

FAQs

Last updated on 21 Feb 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc