{"repo":"adhocore/goic","free":true,"listed":false,"github":"https://github.com/adhocore/goic","clone":"git clone https://github.com/adhocore/goic.git","description":"Golang OpenID Connect Client","language":"Go","stars":33,"topics":["golang","google-authentication","openid-connect","openid","openid-client","oauth2","jwt","claims","login-with-google","adhocore"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"adhocore/goic GOIC, Go Open ID Connect , is OpenID connect client library for Golang. It supports the Authorization Code Flow of OpenID Connect specification. Installation Usage Decide an endpoint (aka URI) in your server where you would like goic to intercept and add OpenID Connect flow. Let's say /auth/o8 . Then the provider name follows it. All the OpenID providers that your server should support will need a unique name and each of the providers get a URI like so /auth/o8/ . Example: Provider Name OpenID URI Revocation Signout ---------- ------ ------------ ---------- ------------ Google google /auth/o8/google Yes No Facebook facebook /auth/o8/facebook No No Microsoft microsoft /auth/o8/microsoft No Yes Yahoo yahoo /auth/o8/yahoo Yes No Paypal paypal /auth/o8/paypal No No Important: All the providers must provide .well-known configurations for OpenID auto discovery. Get ready with OpenID provider credentials (client id and secret). For Google, check this. To use the example below you need to export GOOGLE CLIENT ID and GOOGLE CLIENT SECRET env vars. You also need to configure application domain and redirect URI in the Provider console/dashboard. (redirect URI is same as OpenID URI in above table). Below is an example for authorization code flow but instead of copy/pasting it entirely you can use it for reference. After having code like that, build the binary ( go build ) and run server program ( ./ ). You need to point Sign in with button to https://localhost/auth/o8/ for ","default_branch":null,"files":null,"tree":[],"storefront":"/r/adhocore","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/adhocore/goic/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}