2014-01-14 52 views
0

我正在使用spring安全OAuth2。我想知道是否有任何簡單/乾淨的方式來擴展Spring OAuth2模塊以存儲與該客戶​​端關聯的附加信息,例如與客戶端相關聯的電子郵件ID,並在OAuth2Authentication中檢索此信息。延伸Spring安全OAuth2來存儲額外的客戶端數據

我探索了ClientDetailsS​​ervice和AuthorizationRequest,但看起來好像沒有簡單的方法來實現這一點,而不會覆蓋一大堆類。快速的谷歌搜索也沒有幫助。

有沒有其他人面臨類似的問題?歡迎大家提出意見。謝謝。

回答

0

Spring Ouath2提供JdbcClientDetailsService。它查找oauth_client_details表。

您可以使用自己的表名稱和列名創建自己的類。

<beans:bean id="clientDetails" 
    class="MyOwnClass"> 
    <beans:constructor-arg ref="dataSource" /></beans:bean> 

提供上面的bean的引用在任何需要的客戶信息是這樣的

<oauth:authorization-server client-details-service-ref="**clientDetails**" token-services-ref="tokenServices" user-approval-handler-ref="userApprovalHandler"> <oauth:authorization-code disabled="true" /> <oauth:implicit /> <oauth:refresh-token disabled="true" /> <oauth:client-credentials /> <oauth:password disabled="true" /> </oauth:authorization-server>

<beans:bean id="userApprovalHandler" 
    class="com.mkyong.common.controller.SparklrUserApprovalHandler"> 
    <beans:property name="approvalStore" ref="approvalStore" /> 
    <beans:property name="clientDetailsService" ref="**clientDetails**" /> 
    <beans:property name="requestFactory" ref="defaultOAuth2RequestFactory" /> 
</beans:bean> 
+0

感謝。它奇怪的是它尋找鍵爲id的表。如果用戶更改電子郵件地址怎麼辦? – Dejell

相關問題