我正在開發一個項目,以在系統中實施基於令牌的認證。我正在考慮使用SAML或OAuth。有關SAML,OAuth的問題
我想知道是否有可能在令牌中表示實際的策略(這是基於ACL的系統)。在當前的設計中,我一直在考慮給用戶一個包含所有資源和允許角色的令牌。該服務根據用戶的請求檢查該令牌,以查看用戶是否對涉及的資源具有所需的許可。
是否可以使用SAML/OAuth標記表示?如果兩者都有可能,那麼應該在這裏使用哪一個。從我看到的大多數示例中,SAML用於SSO解決方案,OAuth用於定義實際授權策略。但是從演示/示例中不清楚是否可以使用OAuth對特定資源進行限制訪問。
例如當Facebook應用程序想要使用OAuth訪問您的照片時,是否可以將訪問權限限制爲某個特定相冊?或者更像是所有或沒有辦法。是否有任何資源可以閱讀以獲取更多信息?
感謝您的回覆!在上述項目的情況下,我認爲會有1000年的資源。所以從我對角色的理解中,我需要定義數千個角色?在允許一個用戶訪問多個資源的情況下,必須設計新的角色。 但是在SAML的情況下,這可以通過使用一些XML語句形式的AttributeQuery來實現,它會更清潔嗎? – Sameer
它有很多方面都差不多。如果你真的需要控制細粒度的訪問,那麼你最終可以將角色/範圍映射到你的資源。您可能還想考慮SAML AuthzDecisionQuery,它可以減輕您定義角色的風險(至少在身份提供者和依賴方之間它們是已知的)。相反,如果用戶可以訪問某些內容(例如給定的URL),則RP會直接詢問IdP。 –
我的印象是,在SAML中,用戶可以獲得包含XML語句的令牌。我打算使用這些XML語句來定義有問題的用戶可以使用的資源以及允許的權限。有了這個實現,就不需要定義任何角色。這些組仍然需要定義,但它只是ACL已經存在的自然延伸。這就是爲什麼我認爲這將比OAuth更簡單和更乾淨的實現。如果我的理解不正確,請糾正我。再次感謝! – Sameer