问题标签 [securesocial]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
208 浏览

scala - 如何处理在 Scala 中获取 [object] 或 None ?

我正在使用扩展 SecureSocial 的身份特征的用户类在 Slick 中实现用户表。我在从可选的不可存储数据库类型对象转换为可选的原始数据库类型时遇到问题。

参考:Slick docsSecureSocial docs (要为 SecureSocial 生成 API 文档,请从他们的 Github中提取,进入他们的“module-code”目录,然后运行play doc。然后查看 module-code/target/api 文件夹并打开上 index.html)

是)我有的

User在案例类中获取此参数:

oAuth1Info: Option[securesocial.core.OAuth1Info]

Scaladoc 中 OAuth1Info 的新实例构造函数如下所示:

new OAuth1Info(token: String, secret: String)

现在在我的*方法中(如此处所述):

我正在尝试做的事情

如果未提供,则插入None数据库,并且oAuth1Info

Option[securesocial.core.OAuth1Info] = None

否则,获取OAuth1Info对象并获取令牌和机密并将其存储到我的数据库中各自的列中。

除了这个映射投影是 500+ 字符行之外,我是否需要做一些

? 单行模式匹配器可以吗?在这一点上,我迷失在我的代码中......

谢谢你的帮助


如果你想看看我到目前为止的完整实现......

Scala + Slick + SecureSocial = 可悲的是 tl;dr 代码

我知道这段代码是一堵文字墙。如果存在多行 Scala 代码会很棒吗?巴斯宾

0 投票
2 回答
2760 浏览

http - Play Framework - 如何重定向到插件控制器生成的页面?[安全社交]

我的 routes.conf 文件中有这个:

然后我在 Scala 控制器文件中有这个

这样做会将我带到一个登录页面,该页面有一个红色错误栏,上面写着“您必须登录才能查看此页面”。如果我访问 `localhost:9000/login' 我会得到没有错误栏的登录页面。

通常我会这样做,Redirect(routes.SomeControllerObject.ActionMethodName)但在这种情况下,我需要访问的控制器位于插件中......

我觉得我在这里错过了一些相当大的东西......

0 投票
1 回答
130 浏览

mysql - 安全社交中的 Mysql 依赖项

我正在尝试将 mysql 5.5.27 数据库用于带有 play 2.1.0 的securesocial sbt-version 0.12.2。我应该在 Build.scala 中的变量 appdependencies 中包含哪些更改以包含 mysql?

0 投票
1 回答
139 浏览

playframework-2.1 - 有没有办法在@SecureSocial.SecuredAction 授权实现中获取路径参数?

我是 playframework 的新手,并尝试在我的网络应用程序中使用 securesocial 进行身份验证和授权。我需要向我的控制器添加自定义授权,以检查当前用户是否是实体的创建者,他是否正在尝试查看或编辑。

路线:

为此,我需要从请求路径传递实体 ID。有没有办法在实现授权接口的类中获取/传递路径参数?

0 投票
1 回答
923 浏览

scala - 使用依赖注入使用 SecureSocial 测试 Play2 应用程序

非常感谢任何指导!

当我从浏览器运行 SecureSocial 插件时,它运行良好,但我希望现在能够测试我的 Play 应用程序的其余部分。

快速介绍

SecureSocial 的语法如下所示:

或这个:

我一直在看这里,这似乎是 Stack Overflow 上唯一与我的 SecureSocial 问题远程相关的问题,但我不太喜欢重新连接字节码。应该有一个更简单的解决方案。

当我运行访问 SecureSocial-protected Actions 的测试时,我收到一个大错误,我猜这基本上意味着我没有将它传递给用户。(见这个问题的底部)

我想做什么

注入所有函数以返回类型Action,而不是SecuredActionUserAwareAction仅在测试期间

或者实际上将测试用户传递给调用。但是怎么做?

我有的

如此处所述和我的测试中Global.scala所写的...

我也有这样的电话:

这就是为什么我认为这个问题可能非常适合依赖注入?不过,我不确定如何进行类实例化,因为我使用的 Global.scala 是一个通用类实例化器。我也不特别希望为我拥有的每个控制器编写 9000 多个特征。

大错误

这是行 UserOpsSpec.scala 第 12 和 13 行:

这就是错误

0 投票
1 回答
423 浏览

scala - How can I directly test the methods of MyUserService for securesocial plugin for Play Framework

I'm wondering how I can test my implemented UserService (MyUserService) methods directly. I've imported MyUserService but it doesn't seem to recognize it.

The error is:

Thanks for any help you can give. Here's my test case for the find method.

Here's my test case...

Thanks again.

0 投票
1 回答
416 浏览

scala - 创建用户后如何更新securesocial用户名

我正在尝试使用 Play Framework 应用程序中实现的 Secure Social 插件编写一个 editUser 页面。更改用户名后,我无法保持登录状态。更改用户名后,当我为 editUser 表单按下提交时,会出现此问题。它进入登录页面并显示“您需要登录才能访问该页面”。所需的行为是重定向到 editUser 页面而无需重新登录。在数据库中,一切都已成功更新。这样就可以了,只是不再登录。

下面是我的“用户”控制器的控制器方法,用于用户更新的 POST。

如果有人可以帮助我解决这个问题,将不胜感激。谢谢。

0 投票
2 回答
1102 浏览

json - 如何处理我的 json 写入以更新 ReactiveMongo 中的现有对象?

在我当前的 Play2 项目中,我实现了 ReactiveMongo 来存储我的用户对象。

用户:

链接提供者:

如您所见,我已经实现了读取和写入,以便将对象正确存储在 mongoDB 实例中。使用新对象进行插入时,一切都像魅力一样工作,并且对象结构已正确保存并从 mongoDB 检索。

我遇到的问题是弄清楚如何处理更新。所以假设我想像这样更新我的用户对象上的一些值:

然后调用我的更新方法:

更新方法:

DBQueryBuilder.set() 方法:

这将导致此错误:

由于写入说明,在调用DBQueryBuilder.set() 方法(__ \ "_id").write[Option[BSONObjectID]]时也应该序列化_id字段。我们知道更新_id是不允许的,在这种情况下绝对不应该这样做。

所以我的问题是:我应该如何处理这个?我想有一些聪明的 Scala 方式不涉及我编写整个"$set" -> 查询?也许创建一个更好的 DBQueryBuilder?也许定义另一个写入定义?
请给你最好的机会,记住我是一个 Scala 新手,所以要温柔 =) !

0 投票
1 回答
454 浏览

playframework - 注册后 SecureSocial 登录

我正在使用带有 SecureSocial 的 Play Framework 2.1。
我有自己的模板、UserService 和 UsernamePasswordProvider/FacebookProvider。

我不使用 SecureSocial 来注册我的用户,但我使用它来登录和处理会话。如何让人们在注册后登录,所以在我的 Java 代码中?

我试着用Authenticator.create(...)

但我不能使用UserService.find(),它告诉我它必须是静态的......

我将实现另一个专用于从 RegisterForm 检索凭据的 Provider,并调用

有更好的主意吗?

谢谢

0 投票
3 回答
603 浏览

scala - 每次在我的网络应用程序的标题中显示登录用户信息

我正在开发具有安全社交整合功能的 play 2.1。到目前为止,我已经能够使用 SALAT 将 securesocial 与 mongod db 集成。现在我可以登录/注销了。但是现在我想要的是如果用户已经登录,那么我需要在我的 Web 应用程序的标题中显示用户信息,如头像等,我不知道如何在不作为参数传递的情况下在 scala.html 中获取用户信息控制器。我不能每次都这样做。

我们是否有类似于 spring security 的东西,它从会话中获取用户并使用 EL 或 spring taglib 来显示用户信息?