Coder Social home page Coder Social logo

Comments (5)

hubertlepicki avatar hubertlepicki commented on September 26, 2024

So it looks like goth is not figuring out client_email from Google's Default Application Credentials using internal API, similar way that it does with project_id. This is kind of inconsistent, but easy to fix.

I don't know if this should land in Goth, having in mind the redesign thing ? but code that works for me is something liike:

https://github.com/amberbit/waffle_gcs/blob/support_gae_default_application_credentials/lib/waffle/storage/google/url_v2.ex#L165

from goth.

hubertlepicki avatar hubertlepicki commented on September 26, 2024

@wojtekmach I'd like to make a proper fix to this at some point and was just wondering if you think client_email should be resolved by Goth the same way the project_id currently is, i.e. using instance metadata when on GAE / GCP, and thus the functionality to do so should be added to Goth, or should I continue doing that outside of Goth?

from goth.

wojtekmach avatar wojtekmach commented on September 26, 2024

regarding adding functionality to Goth, if it's for the "new" api that's more likely to be accepted, if for the "old", less so as we want to move away from that.

Sorry, I need more time to dig into this, I'll try to have a better answer soon. A pretty uninformed answer at this moment is this. I believe Waffle uses Goth as "credentials store", not just for token but also the email and stuff. In my opinion Goth is supposed to be just for generating tokens. For example, if the email is part of your credentials (e.g. the service account json thing), don't use Goth to later retrieve it. Store it yourself and retrieve it yourself. Similarly, if you're getting email from the google metadata service, don't use Goth for it, do it yourself. Does that make sense? Then I think the library is easier to understand and maintain. But maybe it poses unreasonable burden on the user, instead of letting users worry about all that, it should solve it once. I don't have an answer yet, any feedback is appreciated. :)

cc @peburrows

from goth.

hubertlepicki avatar hubertlepicki commented on September 26, 2024

right, ok that's what I was thinking too about future of Goth and I was wondering if that even makes sense to add that functionality to the legacy modules if the intended usage is to not have them at some point. I think this makes sense @wojtekmach , but would be good for @peburrows to confirm

from goth.

peburrows avatar peburrows commented on September 26, 2024

In general, I agree with @wojtekmach on this — Goth should be pretty specifically focused on generating tokens, not used as a general purpose config retrieval or storage mechanism. The ability to retrieve the email from Goth's config is more an artifact / byproduct of the way the service account credentials were passed than an intentional interface for doing such things.

from goth.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.