+----------+ +----------+ +---------------+ | Client | | Resource | | Authorization | | | | Server | | Server | +----+-----+ +----+-----+ +-------+-------+ | | | | 1. Resource Request | | | ----------------------> | | | Without Access Token | | | | | | | | | 2. WWW-Authenticate | | | <---------------------- | | | | | | | | | 3. Fetch RS Metadata | | | ----------------------> | | | | | | | | | 4. RS Metadata Response | | | <---------------------- | | | | | +---------+---------------+ | | | 5. Validate RS Metadata | | | | Build AS Metadata URL | | | +---------+---------------+ | | | | | | 6. Fetch AS Metadata | | | ------------------------+----------------> | | | | | | | | 7. AS Metadata Response | | | <-----------------------+----------------- | | | | +-+-------------------------+------------------+-+ | 8-9. OAuth Authorization Code Flow | | Client Obtains Access Token | +-+-------------------------+------------------+-+ | | | | 10. Resource Request | | | ----------------------> | | | With Access Token | | | | | | | | | 11. Resource Response | | | <---------------------- | | | | | +----+-----+ +----+-----+ +-------+-------+ | Client | | Resource | | Authorization | | | | Server | | Server | +----------+ +----------+ +---------------+