小编Rob*_*uch的帖子

Ember.js或Backbone.js用于Restful后端

我已经知道,与backbone.js相比,ember.js是一种更重量级的方法.我读了很多关于两者的文章.

我问自己,哪个框架更容易作为铁轨休息后端的前端.对于backbone.js,我看到了不同的方法来调用休息后端.对于ember来说,似乎我必须包含更多的库,如'data'或'resources'.为什么有两个库?

那么更好的选择是什么?还有很多例子可以将前端与后端连接起来.什么是后端休息呼叫的良好工作示例:

URI:../ restapi/topic GET auth凭证:admin/secrect格式:json

rest frontend ruby-on-rails backbone.js ember.js

98
推荐指数
2
解决办法
3万
查看次数

在哪里存储客户端上的刷新令牌?

我的 SPA 应用程序使用以下架构(来源):

在此处输入图片说明

这假设我的客户端应用程序知道刷新令牌,因为如果不存在用户凭据(例如电子邮件/密码),我需要它来请求新的访问令牌。

我的问题:我在哪里存储我的客户端应用程序中的刷新令牌?关于这个话题有很多关于 SO 的问题/答案,但关于刷新令牌,答案尚不清楚。

访问令牌和刷新令牌不应存储在本地/会话存储中,因为它们不是任何敏感数据的地方。因此,我会将访问令牌存储在httpOnlycookie 中(即使有 CSRF),无论如何,我对资源服务器的大多数请求都需要它。

但是刷新令牌呢?我不能将它存储在 cookie 中,因为 (1) 它会随着每个请求发送到我的资源服务器,这也使它容易受到 CSRF 的攻击和 (2) 它会发送暴露访问/刷新令牌与相同的攻击向量.

我能想到的解决方案有以下三种:


1) 将刷新令牌存储在内存中的 JavaScript 变量中,这有两个缺点:

  • a) 易受 XSS 攻击(但可能不如本地/会话存储那么明显
  • b) 如果用户关闭浏览器选项卡,它会丢失“会话”

尤其是后一个缺点会导致糟糕的用户体验。


2) 将访问令牌存储在会话存储中,并通过Bearer access_token授权标头将其发送到我的资源服务器。然后我可以使用httpOnlycookie 作为刷新令牌。这有一个我能想到的缺点:

  • a) 每次向资源服务器发出请求时,刷新令牌都会暴露给 CSRF。

3) 将两个令牌保存在httpOnlycookie 中,这具有上述缺点,即两个令牌都暴露于相同的攻击向量。


也许除了我提到的缺点之外还有另一种或更多的方式(请告诉我),但最终一切都归结为我将刷新令牌保存在客户端的什么位置?它是httpOnlycookie 还是内存中的 JS 变量?如果是前者,那么我应该把我的访问令牌放在哪里?

很高兴从熟悉该主题的人那里获得有关如何以最佳方式执行此操作的任何线索。

authentication cookies oauth token oauth-2.0

58
推荐指数
4
解决办法
5万
查看次数

ruby - bundle install/update太慢了

我刚刚在虚拟机中运行的虚拟ubuntu 12.04 32bit上安装了RVM,Ruby,Rails等.现在我遇到了第一个rails项目bundle installbundle update需要很长时间的问题.即使我用rails创建一个新项目(包括bundle install).

我只使用标准宝石:

source 'https://rubygems.org'

gem 'rails', '3.2.12'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

group :development do
  gem 'sqlite3', '1.3.5'
end


# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

 gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.2' …
Run Code Online (Sandbox Code Playgroud)

ruby rubygems ruby-on-rails bundler

37
推荐指数
4
解决办法
2万
查看次数

从unix时间戳到日期时间

我有像/Date(1370001284000+0200)/时间戳这样的东西.我猜这是一个unix日期,不是吗?如何将其转换为这样的日期:31.05.2013 13:54:44

我试过这个转换器1370001284,它给出了正确的日期.所以它是在几秒钟内.

但我仍然得到错误的日期:

var substring = unix_timestamp.replace("/Date(", "");
substring = substring.replace("000+0200)/", "");
var date = new Date();
date.setSeconds(substring);
return date;
Run Code Online (Sandbox Code Playgroud)

javascript datetime date momentjs

29
推荐指数
3
解决办法
11万
查看次数

呃!426 当我与 npm 注册表交互时需要升级

当我尝试将新包发布到 npm 或尝试注销时,收到以下错误消息:

npm ERR! code E426
npm ERR! 426 Upgrade Required
Run Code Online (Sandbox Code Playgroud)

npm

20
推荐指数
2
解决办法
2万
查看次数

React/Redux + Soundcloud API

UPDATE

请参阅此处的工作示例:Favesound-Redux

直播:http://www.favesound.de/

教程:http://www.robinwieruch.de/the-soundcloud-client-in-react-redux

最近我发现并受到Sound Redux的启发,它展示了如何在React + Redux应用程序中使用Soundcloud API.Soundcloud API要求您设置callback.html页面.Sound Redux应用程序通过从Go Lang服务器提供callback.html来解决这个问题.我不想为此使用任何服务器端技术.这就是为什么我想知道是否有可能将callback.html作为反应组件提供服务.我的设置已经弹出了Soundcloud的身份验证模式,但在输入我的凭据后没有任何反应,模态变为空白.

在我的根组件中,我为Callback组件和我的app组件设置了路由.

const routes = <Route component={App}>
  <Route path="/callback" component={Callback} />
  <Route path="/app" component={SoundContainer} />
</Route>;

ReactDOM.render(
  <Provider store={store}>
     <Router>{routes}</Router>
  </Provider>,
  document.getElementById('app')
);
Run Code Online (Sandbox Code Playgroud)

当我从SoundContainer中触发身份验证请求操作时,操作创建器如下所示:

export function auth() {
  return dispatch => {
    SC.initialize({
      client_id: MY_CLIENT_ID,
      redirect_uri:`${window.location.protocol}//${window.location.host}/#/callback`
    });

    SC.connect(function (response) {
      console.log('connect'); // This does not appear in the console
      SC.get('/me', function(data) {
        console.log(data);
        dispatch(doAuth(data));
      })
    });
  } …
Run Code Online (Sandbox Code Playgroud)

javascript soundcloud reactjs webpack redux

18
推荐指数
1
解决办法
948
查看次数

来自WADL的宁静客户

是否有任何方法可以自动生成一个带有HttpUrlConnection的jax-rs客户端或者第三方解决方案,如jersey,apache,restlet等.拥有一个框架/应用程序不是一个优势吗?

rest jax-rs wadl

17
推荐指数
2
解决办法
3万
查看次数

BitBucket:您正在通过 HTTPS 使用 Git 的帐户密码

今天,当我在 MacOS 上使用 Git + BitBucket 并将新分支推送到 BitBucket 时,收到以下消息。

您正在通过 HTTPS 使用 Git 的帐户密码。

从 2022 年 3 月 1 日开始,用户必须使用应用程序密码远程:通过 HTTPS 进行 Git。为了避免任何中断,请将 Git 客户端远程中使用的密码更改为应用程序密码。请注意,这些凭证可能已自动存储在您的 Git 客户端和/或凭证管理器(例如 Git Credential Manager (GCM))中。

git ssh bitbucket

12
推荐指数
2
解决办法
1万
查看次数

Apache Wink和Apache CXF JAX-RS实现

为什么Apache有两种JAX-RS实现?

CXF似乎是一个庞大的捆绑包括jax-ws和jax-rs.Wink似乎更轻巧.那么哪一个更好用?有人体验过一个或两个实现吗?也许其中一个已经过时了?

我知道jax-rs还有其他实现,但我想获得有关这两个的信息.

java apache rest cxf jax-rs

11
推荐指数
1
解决办法
1996
查看次数

D3:带有增长弧度的仪表图

我希望实现类似于增长的弧形,表示5个等级(见图).我的数据只有一个介于1-5之间的整数值.您现在可以忽略中间的图标.是否有可能在d3中实现类似的目标?我找不到任何这方面的例子.此外,我尝试了一个切断的馅饼(甜甜圈)图表方法,但我不能成为越来越多的弧...我将不胜感激任何帮助!感谢那.

在此输入图像描述 在此输入图像描述

javascript d3.js

10
推荐指数
1
解决办法
1169
查看次数