Note that there are some explanatory texts on larger screens.

plurals
  1. POHypermedia (ReST) SOA: Good design for consistent service-level authentication?
    primarykey
    data
    text
    <p>I'm currently developing an SOA solution, where each service in the architecture is a secure, authenticating hypermedia resource (as in really hypermedia, not RPC with pretty URLs).</p> <p>Customer-facing, company-internal and customer-built applications will be built on top of this architecture (nothing unusual here). I cannot assume that there exists a common authentication pattern between applications because requirements for user identification and credential management can differ significantly.</p> <p>It follows that services in the architecture must employ a separate authentication scheme. Ideally this would be completely consistent between services (for example HMAC), to allow as much client/server module re-use as possible.</p> <p>My question to you is this: <em>is there a common pattern for providing consistent authentication and credential management across decoupled services? If so, what is it?</em></p> <p>I came up with a few ideas, but input from more experienced engineers would be appreciated:</p> <p><strong>1)</strong> Each service exposes a discrete but mechanically identical authentication interface, and is responsible for its own credential management.</p> <p><strong>2)</strong> As <strong>1)</strong> but with shared credential management. A discrete authentication interface is still exposed for each service in the architecture, as in <strong>1)</strong>, but the underlying data medium is shared.</p> <p><strong>3)</strong> There is a single shared authentication service, which is responsible for authentication and credential management for itself and all other services.</p> <p>I find idea <strong>2)</strong> to be the most appealing, but it needs some refinement. Unless I am totally on the wrong track here.</p> <p>Please criticise/suggest as much as you see fit. Bearing in mind of course that this is about design and not implementation; I'm not interested in framework/middleware/protocol XYZ at this point.</p> <p>Apologies for the prose, and thanks for reading.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload