问题标签 [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 投票
1 回答
576 浏览

scala - 将 ActionBuilder 与 securesocial SecuredAction 一起使用

我正在使用带有securesocial的play 2.2.1,并且我的许多操作都使用SecuredActionsecuresocial提供的身份验证。

现在我想ActionBuilder为特定类型的请求创建一个,例如文档中的 ItemAction。

我尝试做这样的事情

我得到这个编译错误

我知道 invokeBlock 应该采用 aplay.api.mvc.Request[A]而不是 a securesocial.core.SecuredRequest[A],但我无法让它工作。

0 投票
1 回答
353 浏览

api - 基于 Cookie 的 Token 是否宁静?

我正在基于 Play Framework 2.X 为我的项目构建一些 RESTful API。

我的重点是我实现的身份验证机制。

目前,我使用SecureSocial。工作流程是:

  1. 匿名用户调用安全 API
  2. 服务器抓取任何 cookie Id(一种身份验证令牌)并检查 Play 2 缓存中的匹配。(缓存包含 cookie Id(随机生成)和用户 Id 之间的关联,可从数据库访问。
  3. 如果有任何匹配,则授权用户处理其预期的服务。
  4. 如果没有匹配,用户被重定向到登录页面,当填写有效凭据(电子邮件/密码)时,服务器将其相应的身份验证数据存储在 Play 2 缓存中,并发送仅包含自定义 Id(身份验证令牌)的新创建的 Cookie给用户,当然,通过 SSL 保护。
  5. 虽然 cookie/token 不会过期,但用户可以调用安全 api(当然,如果授权)

整个作品很棒。

但是,经过一番搜索,我发现了这篇文章,并且......我想知道我是否走对了。

事实上,处理 cookie(Play 术语中的“会话”)会打破 Restfulness 规则。因为一个真正被认为是无状态的 api 应该一次调用所有需要的数据(凭证/令牌等)。我实现的解决方案需要两个调用:一个进行身份验证,另一个调用安全 API。

我想把事情做好,我想知道一些事情:

  • Api 密钥的使用情况如何?我应该使用它们而不是这个SecureSocial工作流程来实施解决方案吗?Api Keys 将在每次 API 调用时发送,以保持安静。我考虑了一下,因为我希望我的 API 可以被一些 web 应用程序、手机和其他类型的客户端访问。没有人被迫管理cookies。

  • OAuth 呢?我真的需要它吗?它会完全取代简单 api 密钥的使用吗?始终以多个客户端为目标,此已知协议将是管理身份验证和授权的好方法。

总之,我应该实施另一种机制以符合 Restful 标准吗?

0 投票
0 回答
118 浏览

playframework - Securesocial 0.2.5 与 Google 和本地主机上的 Playframework 1.2.7

我已经在我的 play 1.2.7 应用程序中成功安装了securesocial,它适用于雅虎。但我遇到了谷歌的问题。请帮助我提前谢谢。

securesocial.google.requestTokenURL= https://www.google.com/accounts/OAuthGetRequestToken securesocial.google.accessTokenURL= https://www.google.com/accounts/OAuthGetAccessToken securesocial.google.authorizationURL= https://www. google.com/accounts/OAuthAuthorizeToken securesocial.google.scope= http://www-opensocial.googleusercontent.com/api/people securesocial.google.consumerKey=mykey

securesocial.google.consumerSecret=mysecret

但我收到以下异常。

16:00:24,934 调试 ~ 添加 uri: https://www.google.com:443 for channel [id: 0x00925f6d, /192.168.1.75:56337 => www.google.com/74.125.236.114:443] 16: 00:24,935 错误 ~ OpenID+OAuth 回调中缺少请求令牌。提供者:谷歌securesocial.provider.AuthenticationException

0 投票
1 回答
507 浏览

java - 为 play framework 和 spring 定制secureSocial(依赖注入)

我正在使用带有 play 和 spring 的 Play 2.0.6 的安全社交版本 2.0.13。我从类型安全教程下载了项目模板,并使用来自http://securesocial.ws/guide/getting-started.html的指南添加了安全社交 然后我用我的版本替换了登录和模板,因为我需要登录页面没有注册。因此,我将登录名及其模板复制到了我的自定义包中,并从中删除了注册标签。问题是当我启动我的应用程序并请求一个 url 时,我遇到了这个错误:

但是,如果我不使用 spring(不使用 Global 和 getControllerInstance),示例就可以正常工作! 请帮助我一起使用安全社交和弹簧。谢谢。

0 投票
1 回答
1294 浏览

java - 无法解析邮件程序和 util 插件 [2.2 java]

我是玩 2.2 框架的新手。我开始使用安全的社交插件,并且在编译过程中我有未解决的依赖关系。

我的 build.sbt 的内容是:

和 play.plugins 是

我还尝试下载这些 jar 并将它们放在 lib 文件夹中。这是一个已知的问题?如果有人可以帮助我解决这个问题,那就太好了。另外,就像在 rails 中一样,我们如何强制将插件安装到给定的路径,比如 bundle install --path=.path

0 投票
1 回答
283 浏览

scala - 在 Play2 SecureSocial 上,POST 在 SecureadAction 之后作为 GET 执行

我正在使用 PlayFramework 2.1.4 和 SecureSocial 2.1.1。

我定义routes如下,将请求设置为POST.

一开始很顺利,但在 SecuredAction 之后,请求变为GET. 日志:

我该怎么办?请给我你的建议。

表单是这样的(createComment.scala.html)。

这是 Application.scala

0 投票
2 回答
364 浏览

java - Securesocial - 在自定义视图中获取用户数据

我开始为我自己的使用定制securesocial,并在定制我的视图期间遇到了一个问题 - 我试图在窗口顶部制作持久的工具栏模板,其中包含如下文本:

此工具栏在自定义主视图中生成:

从代码中调用(index.scala.html 示例):

我在尝试使用自定义视图时遇到问题 - 特别是passwordChange.scala.html. 这个视图是从securesocial(PasswordChange)提供的标准控制器调用的,然后将控制权传递给我自己的插件(MyViews它具有渲染视图和扩展的简单实现TemplatesPlugin),没有关于用户上下文的任何信息 - 所以即使用户已登录on,在密码更改期间,工具栏将显示“欢迎,访客”,并且相应的菜单将显示例如“登录”和“注册”,尽管用户在密码更改期间已登录。

任何人都可以为我提供将用户信息传递给我的自定义视图的解决方案(最好不重写内置控制器的securesocial)吗?

0 投票
1 回答
208 浏览

playframework - 在单页应用程序中使用安全社交

我正在开发一种简单的电子商务网站,其中只有一些操作需要身份验证,例如为产品撰写评论。

例如,当单击评论时,登录页面作为单页应用程序加载,但是当使用 UsernamePasswordProvider/Facebook 登录时,登录页面来自安全社交,整个页面正在加载。

有没有一种简单的方法可以使它成为单页应用程序,而不是分叉securesocial和我自己将所有调用修改为ajax/单页应用程序调用。

0 投票
2 回答
264 浏览

playframework - Querying SecureSocial for currently signed-in users

Is there a way to know which users are currently signed in with a Playframework application using the Secure Social API? If so how?

More generally where and how are currently signed-in users stored in a Play/SecureSocial application?

0 投票
2 回答
1185 浏览

unit-testing - 使用 SecureSocial 在 Play 框架中对控制器进行单元测试

我正在尝试发明某种模拟 SecureSocial 动作生成器,或 SecureSocial 本身,以便能够对控制器方法进行单元测试。我找到了一些方法,例如使用 Securesocial 注释保护的单元测试方法使用依赖注入使用 SecureSocial 测试 Play2 应用程序,但问题是,在那个问题中,作者实际上不进行单元测试,而是进行集成测试.

我的单元测试如下所示:

如您所见,我模拟了依赖项以隔离和测试控制器方法实际执行的行为。

一切都还好,直到我将securesocial 中的SecuredAction 用于MyController.list 方法。现在我得到一个异常,测试失败。我不知道如何从 securesocial 模拟、存根或覆盖 SecuredAction 和 UserAwareAction 对象。我仍然不想将我的测试转换为 route(...) 测试。它们旨在仅测试控制器的行为。

有人遇到过同样的问题吗?可能有任何提示如何解决?

PS:Play framework 2.2.1,securesocial - 2.1.2