我尝试使用演示XPages SBT来理解dell‘’OAuth操作,我的目标是在我的一些XPages、Facebook和Twitter中实现。我读了几本关于这个主题的指南,但我有几个问题:
1)我不明白为什么数据库WebSecurityStorage.nsf中没有读取"Consumer Key“和"Consumer Secret”字段,而只能在faces-config.xml文件中读取。
2)当我通过"XpagesSBT.nsf / FacebookClientAPI.xsp“访问Facebook时(通过faces-config.xml访问),数据没有存储在”用户密钥“中。
我做了几次检查,但都没有找到解决方案。我使用的是Lotus Domino9.0.1 FP3和XPagesExtensionLibrary的最新更新。
你有什么想法吗?
这是faces-config.xml文件的一部分:
<!--
Token store Memory implementation
-->
<managed-bean>
<managed-bean-name>CredStore</managed-bean-name>
<managed-bean-class>com.ibm.sbt.security.credential.store.MemoryStore</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<!--
Password store memory implementation.
-->
<managed-bean>
<managed-bean-name>PasswordStore</managed-bean-name>
<managed-bean-class>com.ibm.sbt.security.credential.store.MemoryStore
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<!--
Facebook
-->
<managed-bean>
<managed-bean-name>facebook</managed-bean-name>
<managed-bean-class>com.ibm.sbt.services.endpoints.FacebookEndpoint
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
<managed-property>
<property-name>url</property-name>
<value>http://www.facebook.com/</value>
</managed-property>
<managed-property>
<property-name>serviceName</property-name>
<value>Facebook</value>
</managed-property>
<managed-property>
<property-name>appId</property-name>
<value>XPagesSBT</value>
</managed-property>
<!-- OAuth parameters -->
<managed-property>
<property-name>credentialStore</property-name>
<value>CredStore</value>
</managed-property>
<managed-property>
<property-name>requestTokenURL</property-name>
<value>https://graph.facebook.com/oauth/request_token</value>
</managed-property>
<managed-property>
<property-name>authorizationURL</property-name>
<value>https://graph.facebook.com/oauth/authorize</value>
</managed-property>
<managed-property>
<property-name>accessTokenURL</property-name>
<value>https://graph.facebook.com/oauth/access_token</value>
</managed-property>
<managed-property>
<property-name>consumerKey</property-name>
<value>***************</value>
</managed-property>
<managed-property>
<property-name>consumerSecret</property-name>
<value>*************************</value>
</managed-property>
<managed-property>
<property-name>signatureMethod</property-name>
<value>HMAC-SHA1</value>
</managed-property>
</managed-bean>
发布于 2015-12-30 04:35:09
我是从记忆中写出来的,所以希望这是相关的
首先,您确定它应该属于MemoryStore类吗?这听起来像是保存在内存中的东西,而不是持久的东西。是否有其他类可用来表示物理NSF存储。(我可能在这里错了)
其次,我认为WebSecurityStore.nsf不再是一个有效的国家科学基金会。我认为它现在已经硬编码到系统中,它将只使用凭证存储的标准位置,即IBM_CredStore\credstore.nsf (每台服务器上只能有一个,并且它在相同的位置)。这里有一篇关于creating on a single server的知识中心文章。
我希望这能帮到你。很抱歉,我现在不能提供确切的答案。我可以在今天晚些时候回来,等我有更多的时间再编辑这篇文章。在放弃之前,我在SBT上浪费了几天时间,因为这样的事情,文档被新旧不兼容的指令复制,它似乎没有得到积极的维护。
https://stackoverflow.com/questions/34514780
复制相似问题