SSO-MIB-GCH-SMTP-O365(1)

πŸ“¦ version 0.10.1, in ubuntu stonking

🌸 HI BESTIE, WELCOME TO sso-mib-gch-smtp-o365 🌸

okay so this is the manual page for sso-mib-gch-smtp-o365, and it lives in the User Commands section of the manual, which is exactly where you'd expect a little command-line icon to be. buckle up because this one is genuinely useful and also kind of niche and I'm obsessed πŸ’…


✨ NAME ✨

sso-mib-gch-smtp-o365 β€” a git credential helper for Office 365 SMTP, powered by the Microsoft Identity Broker. no cap, that's the whole vibe.


πŸŽ€ SYNOPSIS πŸŽ€

sso-mib-gch-smtp-o365 [client_id] [authority] command

πŸ¦‹ DESCRIPTION πŸ¦‹

so sso-mib-gch-smtp-o365 is a git credential helper whose entire main character job is authenticating git-send-email(1) on Office 365 using OAuth2 tokens that it gets from the Microsoft Identity Broker by way of the sso-mib library. like, it goes and gets the token for you, it's so thoughtful 🫢

it acquires an access token for the https://outlook.office365.com/SMTP.Send scope and then prints out credentials in the format that git-credential(1) expects. chef's kiss, it just works.

heads up bestie: this helper only responds to the get command, and only for the smtp protocol. the approve, reject, and capability commands are silently ignored β€” like, no drama, no output, they're just not the moment πŸ™ˆ

πŸ“ ARGUMENTS πŸ“

  • client_id β€” the Azure client application ID. you can also set it through the environment variable MIB_GCH_SMTP_CLIENT_ID. if both exist, the command-line argument wins (it takes precedence, obviously, she's the main character).
  • authority β€” the Entra ID (Azure AD) authority URL, e.g. https://login.microsoftonline.com/<tenant_id>. can also be set via the environment variable MIB_GCH_SMTP_AUTHORITY. and yep, the command-line argument takes precedence here too.
  • command β€” the git credential helper command. it's one of get, approve, reject, or capability. and only get produces output, so don't expect the others to say anything back πŸ’€

🌈 ENVIRONMENT 🌈

  • MIB_GCH_SMTP_CLIENT_ID β€” Azure client application ID. gets used when no client_id argument was handed over on the command line.
  • MIB_GCH_SMTP_AUTHORITY β€” Entra ID authority URL. gets used when no authority argument was handed over on the command line.
  • G_MESSAGES_DEBUG=ssomib β€” turns on debug logging of DBus call parameters through GLib's message logging system. perfect for when you're being a little detective πŸ”

🧚 GIT CONFIGURATION 🧚

drop this into your .gitconfig so the helper handles your SMTP credentials:

[credential "smtp://"]
    helper = !sso-mib-gch-smtp-o365 <client_id> <authority>

or, if you'd rather go the environment-variable route (lowkey cleaner, ngl):

[credential "smtp://"]
    helper = !sso-mib-gch-smtp-o365

⭐ OUTPUT ⭐

on a successful get command for the smtp protocol, the helper prints exactly this:

username=<user@example.com>
password=<access_token>
password_expiry_utc=<epoch_seconds>
authtype=bearer

that authtype=bearer at the end? yeah, that's the moment. ✨


πŸ‘‘ EXIT STATUS πŸ‘‘

  • 0 β€” success, or a command/protocol came through that just doesn't apply here.
  • 1 β€” an error happened, e.g. a missing authority or client ID, or the broker communication failed 😭

πŸ”₯ EXAMPLES πŸ”₯

using it with git send-email

$ git config --global credential.smtp://.helper \
    '!sso-mib-gch-smtp-o365 <client_id> https://login.microsoftonline.com/<tenant_id>'
$ git send-email --smtp-auth=xoauth2 *.patch

testing the helper by hand

$ echo "protocol=smtp" | sso-mib-gch-smtp-o365 <client_id> <authority> get

πŸ’œ SEE ALSO πŸ’œ

sso-mib-tool(1), git-credential(1), git-send-email(1)

go read those too, they're the supporting cast and they ate 🫢


πŸ’– AUTHORS πŸ’–

  • Felix Moessbauer <felix.moessbauer@siemens.com>
  • Andreas Ziegler <ziegler.andreas@siemens.com>

Copyright (C) 2025 Siemens AG. Licensed under MIT. very generous of them, we love a permissive license ⭐


and that's the whole page bestie πŸ’… this was sso-mib 0.10.1, dated 2025, and it belongs to the SSO-MIB-GCH-SMTP-O365(1) manual page β€” go forth and send those patches, you got this πŸŒΈπŸ¦‹βœ¨

πŸ“¦ where this page comes from