Skip to content

Credential implementation files are not independently requireable #594

Closed as not planned

Description

@OskarEichler

Summary

Several documented implementation files rely on load order from the aggregate googleauth entrypoint. Four focused requires fail on current 1.17.4/main (01431c9ecd59e1efc5d262694971ded925044fdc): external AWS, identity-pool and pluggable credentials are missing CredentialsLoader, while the service-account JWT header is missing BaseClient. Two external-account files also accidentally append require "time" to the license-comment line, so it never executes.

Proposed correction

Add each direct dependency require and restore the comment/newline boundary. Candidate: 02fc41cca34504faaaadb4a01ffdd7cb864df01d.

All 37 runtime files load independently with the candidate. The cumulative suite passes 659 RSpec examples (20 expected pending), 103 Minitest runs /201 assertions and four integration runs /41 assertions, plus RuboCop, 86-file syntax, YARD, package/install parity and all five Songstats consumers.

I used an AI coding assistant during source review and verification. I am opening an issue first because repository policy requires tests, a changelog and a Google CLA for pull requests; this audit cannot alter repository tests and no CLA was signed as part of it.

Activity

  1. quartzmo commented on Oct 21, 2026

    @quartzmo
    Member

    The behavior you describe is accurate, but we're closing this as not planned.

    The supported entry points are require "googleauth" and the sub-paths shown in the README and Errors.md (googleauth/web_user_authorizer, googleauth/stores/*, googleauth/id_tokens). All of these load on their own on main (googleauth 1.17.6). The four files in this issue are internal and are loaded through googleauth. The two require "time" lines are dead code, but require "googleauth" loads time anyway, so they have no effect.

    If you have a use case that needs one of these files on its own, please reopen with those details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions