Ich erstelle eine REST-API, in der Clients mithilfe von Clientzertifikaten authentifiziert werden. Ein Client ist in diesem Fall kein einzelner Benutzer, sondern eine Art Präsentationsebene. Benutzer werden mithilfe eines benutzerdefinierten Ansatzes authentifiziert, und es liegt in der Verantwortung der Präsentationsebene, sicherzustellen, dass dies ordnungsgemäß durchgeführt wird (Hinweis: Ich weiß, dass dies nicht der richtige Ansatz ist, aber die API ist nicht öffentlich).
Ich möchte den Benutzernamen für jede Anfrage übergeben (nicht das Passwort), bin mir aber nicht sicher, wo ich das tun soll. Wäre es eine gute Idee, den Authorization-Header zu verwenden?
quelle
Ich würde nicht empfehlen, dass Sie einen Standard-HTTP-Header nicht standardmäßig verwenden. In erster Linie, weil dies für andere Entwickler irreführend sein kann, die wissen, wie der
Authoriziation
Header für die HTTP-Authentifizierung verwendet werden soll, aber auch, um potenzielle Probleme mit anderen Teilen Ihres Stacks zu vermeiden, bei denen die Kenntnis des gleichen Anforderungsheaders widersprüchlich ist.In jedem Fall hindert Sie nichts daran, einen benutzerdefinierten, nicht standardmäßigen
X-Authorization-User
Header speziell für Ihre Zwecke zu verwenden.quelle
X-
sind die vorangestellten Header dafür gedacht. Wenn Sie einen Standardheader verwenden, verwenden Sie ihn nicht für ungewöhnliche oder unerwartete Ereignisse.