Skip to content

Hardcoded "azure" provider shortcut leads to unexpected behaviour #443

@TheToddLuci0

Description

@TheToddLuci0

The convenience alias for azure in opkssh add leads to non-intuitive behavior when using an enterprise / entra account. It is currently hard-coded to a tenant id that works with personal addresses, but not enterprise ones. This, in turn, means that if an unwitting admin (me) runs opkssh add bob@example.com azure, an entry is created with the baked in 9188040d-6c67-4c5b-b112-36a304b66dad tenant id, rather than my actual tenant.

Ideally, there would be some mechanism to load my tenant id, and use that. The three options that come to mind are:

  • Parse /etc/opk/providers to look for an entry for login.microsoftonline.com
    • Don't totally love this, since it means that if multiple microsoft providers exist, there is now a requirement to remember which one gets loaded (First? Last? The one with the fewest unique characters?)
  • Add a key to the config for along the lines of default_tenant, and sub that in
  • if RFC: Provider configuration file spec #115 is accepted, and yaml becomes the provider format, remove all the current hard-coded shortcuts, and instead load all providers in the yaml file as shortcuts based on their name
    • I believe this isn't currently possible, since the current config doesn't store a top-level name for the providers

opkssh/main.go

Lines 103 to 104 in 3073c23

case "azure", "microsoft":
inputIssuer = "https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0"

Additionally, the Azure docs should probably be updated to include note about the current behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions