あなたは「ログイン」について間違っていると考えています。
Web 接続は要求間で維持されないため、すべての Web サイトまたは Web サービスは、すべての要求でAuthorization
ヘッダーやCookie
ヘッダー (使用される認証方法に応じて) などのヘッダーをチェックし、要求をユーザー。
したがって、ログイン* とは、リクエストを行う際に特定のユーザーに関連する詳細を使用するように Web クライアント (ブラウザーなど) が設定されていることを意味します。
API を使用する場合、送信する認証情報は同じ役割を果たします。そのため、ユーザーが API を使用している場合、Web ページまたは他のアプリケーションを介してログインしているかどうかにかかわらず、ユーザーは API を介してログインしています。
例えば:
私の Web ブラウザは現在、仕事用に使用しているアカウントで Google にログインしています。
私のメール クライアントは、私用に使用するアカウントで Google カレンダーにログインしています。
Googleカレンダーを見ると、カレンダーがありません(仕事用アカウントでは使用していません)。
Thunderbird を見ると、自分のカレンダーが表示されます。
ブラウザとメール クライアントから送信されるトラフィックを確認すると、次のようなヘッダーが表示されます。
Authorization: GoogleLogin auth=...stuff I'm not going to share or it would help you impersonate me
つまり、API を使用するコードが自分自身にログインするため、Thunderbird に「ログイン」しています。
実際、同じアプリケーションが複数のアカウントにアクセスし、そのための認証の詳細がある限り、それらすべてに「ログイン」することができます。
*厳密に言うと、「ログイン」はまったく正しい用語ではなく、接続に状態があるさまざまな種類のアクセス メカニズムを指すと主張する人もいます。その意見がどうであれ、ユーザーはそれを理解しているので、ログインしているかどうかの比喩を使用しています。