Một nhà cung cấp (ví dụ: Yahoo, Google, v...v) sử dụng OpenID như một cơ chế xác thực người dùng và cũng sử dụng OAuth cho việc truy cập vào dữ liệu người dùng. Như vậy, để giảm bớt quá trình sử dụng cả OpenID và OAuth, nhà cung cấp hỗ trợ việc mở rộng đó là: cho phép RP nhúng một yêu cầu chấp nhận OAuth (OAuth approval request) vào bên trong một yêu cầu xác thực OpenID (OpenID authentication request). Như vậy, đã hình thành nên một đặc tả mới đó là đặc tả OpenID và OAuth mở rộng.
Một số thuật ngữ được sử dụng trong đặc tả OpenID và OAuth mở rộng:
Combined Consumer (CC): Là một trang web hay ứng dụng. CC giống như một RP trong đặc tả OpenID hoặc như một Consumer trong đặc tả OAuth.
Combined Provider (CP): Là một trang web mà có chứa thông tin người dùng và dữ liệu của người dùng. CP giống như IdP trong đặc tả OpenID hoặc như một Service Provider trong đặc tả OAuth.
Người dùng: Là những người có tài nguyên được lưu trữ trên một hoặc nhiều IdP.
Mục đích của đặc tả mở rộng này là miêu tả làm thế nào để nhúng một yêu cầu chấp thuận OAuth (OAuth approval request) vào trong một yêu cầu xác thực OpenID ( OpenID authentication request), từ đó, cho phép kết hợp với sự chấp nhận, ủy quyền của người dùng vào một yêu cầu xác thực OpenID . Vì lý do bảo mật mà thẻ truy cập (access token) sẽ không được trả lại trong một xác thực OpenID (OpenID authentication response). Thay vào đó sẽ có một cơ chế khác để có thể đạt được thẻ truy cập.
Không giống với chuẩn giao thức OAuth, việc sử dụng OpenID và OAuth mở rộng không có yêu cầu thẻ yêu cầu (request token) được gửi từ RP tới IdP. Thay vào đó, IdP sẽ trả về một thẻ yêu cầu đã được người dùng chấp nhận tới RP, giá trị này như là một phần của kết quả trả lại trong một xác thực OpenID và RP sẽ trao đổi thẻ yêu cầu để lấy thẻ truy cập từ IdP.
Từ đặc tả của OAuth, OpenID và OAuth mở rộng thì chúng tôi thầy sự khác nhau giữa hai giao thức này như sau:
Với OAuth thì quá trình xác thực được thực hiện theo ba bước:
Bước 1: RP nhận được một thẻ yêu cầu không có ủy quyền từ người dùng.
Bước 2: Người dùng ủy quyền cho thẻ yêu cầu . Sau khi RP lấy được thẻ yêu cầu từ IdP ở bước 1 thì nó sẽ chuyển hướng người dùng tới IdP để hỏi người dùng ủy quyền cho RP truy cập vào tài nguyên của người dùng trên IdP.
Bước 3: RP sử dụng thẻ truy cập đã được người dùng ủy quyển để trao đổi lấy thẻ truy cập từ IdP. Khi RP nhận được thẻ truy cập thì RP có thể truy cập và lấy dữ liệu người dùng từ IdP.
Với OpenID và OAuth mở rộng thì quá trình xác thực được thực hiện theo 2 bước:
Bước 1: RP lấy thẻ truy cập đã được sự ủy quyền của người dù ng từ IdP. Tại bước này, RP sẽ nhúng một yêu cầu chấp thuận OAuth và trong một yêu cầu xác thực OpenID.
Bước 2: RP sử dụng thẻ truy cập để trao đổi lấy thẻ truy cập từ IdP. Quá trình trao đổi này giống với quá trình trao đổi trong OAuth chuẩn.