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

Allow specifying access_token to use #1346

Closed
salrashid123 opened this issue May 28, 2016 · 10 comments
Closed

Allow specifying access_token to use #1346

salrashid123 opened this issue May 28, 2016 · 10 comments
Assignees
Labels

Comments

@salrashid123
Copy link

There are situations where you can end up with just the access_token. (eg. non-refereshable token for an endusers via oauth webflow).

There doesn't seem to be any way to place that raw token and initialize gcloud node. (gcloud-java recently added it in:
googleapis/google-cloud-java#1029

here are some references for the older googleapis node client:
https://github.com/google/google-api-nodejs-client#making-authenticated-requests

and a citation about overriding the config
#678 (comment)

@mbleigh
Copy link

mbleigh commented Jun 24, 2016

+1 to the issue. I've issued a pull request against google-auto-auth that would allow for:

var gcloud = require('gcloud')({
  credentials: {accessToken: 'ACCESS_TOKEN_HERE'}
});

@stephenplusplus
Copy link
Contributor

Thank you for the PR over there, @mbleigh! What do you think about just not using google-auto-auth if a user provides a token?

@stephenplusplus
Copy link
Contributor

continuing from #1410 (comment)

There are a couple edge cases:

  1. Calls made with gRPC APIs won't use the token (Datastore, Logging, Pub/Sub for now)
  2. There are other libraries we use-- gce-images & gcs-resumable-upload-- that would need to be updated to accept just an access token (and we would have to provide the access token the user give us to those libraries)

@murgatroid99 is there a way to provide gRPC with just an access token?

@murgatroid99
Copy link

The simplest way to use a plain access token would be to add it to the call's metadata, the same way you would add it to headers for an HTTP request. If you don't want to deal with adding it to every call, you can also create a CallCredentials object, similarly to how you would create one for GoogleAuth credentials:

var creds = grpc.credentials.createFromMetadataGenerator(function(args, callback) {
  var metadata = new Metadata();
  metadata.add('authorization', 'Bearer: '+ access_token);
  return metadata;
});

Then you can pass it to a call in the options field, or compose it with SSL credentials using grpc.credentials.combineChannelCredentials and then using the resulting object to create a channel.

@stephenplusplus
Copy link
Contributor

Awesome, thanks!

@sedouard
Copy link

sedouard commented Feb 8, 2017

Hey there. We're planning on adding GCE support to our cloud management platform. Through we're planning on getting an auth token from our users with permission scopes into GCP. Today can we pass access_token directly to this client? Or should I manually be adding the authorization header to all requests?

@jmuk jmuk added priority: p2 Moderately-important priority. Fix may not be included in next release. Status: Acknowledged labels Mar 7, 2017
@jmuk
Copy link
Contributor

jmuk commented Mar 7, 2017

@stephenplusplus -- is there anything to do more?

@diiiego83
Copy link

any update? i really need to set my access token but i can't find a solution.

@kwent
Copy link

kwent commented Oct 19, 2017

+1 for this feature

@stephenplusplus
Copy link
Contributor

This issue was moved to googleapis/nodejs-common#11.

sofisl pushed a commit that referenced this issue Jan 24, 2023
Source-Link: googleapis/synthtool@d815daf
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:a9d166a74752226923d159cb723df53429e226c9c076dad3ca52ffd073ff3bb4

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
sofisl pushed a commit that referenced this issue Jan 25, 2023
Source-Link: googleapis/synthtool@d815daf
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:a9d166a74752226923d159cb723df53429e226c9c076dad3ca52ffd073ff3bb4

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants