我尝试使用OpenProject OmniAuth SAML单点登录插件设置与OpenProject的SSO(单点登录)集成.我已经配置了相关的细节.生成元数据并将其注册到由Shibboleth提供支持的IDP.该插件确实在openproject登录表单上显示了一个额外的登录按钮.单击它正确地重定向到IDP的登录页面.提供凭据后,它正确地重定向到我提到的AssertionConsumerService URL.它的形式https://example.com/openproject/auth/saml/callback.但该页面显示错误的请求错误.调试文件app/controllers/concerns/omniauth_login.rb显示,在omniauth_login函数内部,以下代码行导致400错误.
auth_hash = request.env['omniauth.auth']
return render_400 unless auth_hash.valid?
Run Code Online (Sandbox Code Playgroud)
的价值auth_hash看起来是空的.由于属性映射或其他原因,这可能是一个问题吗?我来自PHP bacnkground,没有铁轨上的红宝石经验.因此很难调试问题.我已经尝试过谷歌搜索,但找不到任何有用的东西.
任何帮助是极大的赞赏.
谢谢
我在列出用户集合中的所有用户时遇到问题。当我进入列表页面时,仅显示当前登录用户的详细信息。但是,只要刷新页面即可,所有用户都会被列出来。
在服务器端,我有以下发布代码
Meteor.publish("userList", function() {
var user = Meteor.users.findOne({
_id: this.userId
});
if (Roles.userIsInRole(user, ["admin"])) {
return Meteor.users.find({}, {
fields: {
profile_name: 1,
emails: 1,
roles: 1,
contact_info: 1
}
});
}
this.stop();
return;
});
Run Code Online (Sandbox Code Playgroud)
在客户端,
Meteor.subscribe('userList');
Run Code Online (Sandbox Code Playgroud)
在Template js文件中,我进行了以下调用,
Meteor.users.find();
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题。我在这里想念什么?