2013-08-21 71 views
2

我有一個安全的Web應用程序,我希望向合作伙伴公開,以便他們的客戶可以將信息直接捕獲到託管在我的應用程序上的表單中。來自第三方id提供商的簡單活動聯盟

表單將顯示在合作伙伴Web應用程序中嵌入的iframe中。 iframe的URL將指向我的應用程序,幷包含我在呈現iframe之前向合作伙伴發出的某種形式的會話令牌。

我不想將用戶的憑證存儲在我的應用程序中我只需要一種機制來驗證用戶是否已通過身份驗證並授權執行我所託管的操作。

我已經看過SAML和oAuth,但這兩者對身份提供者來說似乎都非常複雜。我寧願自己實施大部分的複雜性,併爲合作伙伴提供簡單的集成手段。

即關鍵是找到一個解決方案,簡單的身份提供

例子:

合作伙伴從我通過一些預定義的端點請求會話令牌(他們會指定動作,他們的用戶將需要執行,用戶的用戶名或id和客戶令牌來驗證響應)。

https://myapp.com/getsession/?username=bob&action=action1&token=CLIENT_SESSION_TOKEN

我返回SERVICE_SESSION_TOKEN。

合作伙伴的iframe嵌入在其應用中的以下網址:

https://myapp.com/action1/?username=bob&token=SERVICE_SESSION_TOKEN

我驗證令牌以及與權力來執行動作1用戶創建了一個驗證會話。

我返回action1的表單並將其呈現在iframe中。

當用戶提交表單,我可以通過重定向iframe來

https://partner.com/action1_callback/?username=bob&token=CLIENT_SESSION_TOKEN&result=RESULT

有沒有支持這樣的協議標準通知的這個合作伙伴? oAuth和SAML使身份提供非常複雜。

回答

1

你看過簡單網絡令牌(SWT)嗎?令牌具有簡單的格式例如像:

Issuer=partner.com&ExpiresOn=1262304000&Username=Bob&ClientSessionToken=B2202256-76A6-4527-8439-E6C3F017F414&HMACSHA256=AT55%2B2jLQeuigpg0xm%2Fvn7tjpSGXBUfFe0UXb0%2F9opE%3D 

只有一個所需的參數HMACSHA256從篡改確保了令牌。 IssuerExpiresOn參數建議用於標識令牌的頒發者並限制令牌有效性的時間。其他參數取決於您需要在令牌中傳遞的信息。

+0

這是非常有用的謝謝。 –

相關問題