我有一个Web API应用程序,我知道OAuth将是API的标准安全模型,其中Authentication Server将负责生成授权令牌,以便用户可以发送到我们的服务器并使用服务.
我对此很新,但我理解所涉及的角色:
但OAuth究竟在实践中是什么,而不是理论上的?它是一个.NET库吗?这是一家由独立公司提供的服务吗?这是我可以在我的本地开发机器上配置的东西,看看它是如何工作的?
如何开始使用OAuth来保护Web API应用程序?
我正在使用带有CORS和Angular.js的Node.js进行简单的登录.
也就是说--- client.example.com正在一个POST太api.example.com/login成功返回,其中一个会话cookie也client.example.com并能获得过一个GET般的服务api.example.com/secret由会话cookie保护.
发出不受会话cookie保护的GET请求不是问题.
最终,这里的目标是使用CORS与本地策略(即用户名和密码)验证客户端应用程序到REST api,即使上述约定是不可能的.
我无法找到一个可以从任何地方学习的工作实践 - 指出我正确的方向?
奖金:展示一个有效的例子.
通过代理类型'jsonp'上传记录的正确方法是什么?我正在尝试使用代理类型"jsonp"同步()商店,但我收到错误消息.
这是模型:
Ext.define("Sencha.model.User", {
extend:"Ext.data.Model",
//idProperty:"",
config:{
fields:[
'userID',
'userName',
'userEmail'
],
proxy: {
type: 'jsonp',
create : 'http://domainname.com/users.php?action=insert',
read : 'http://domainname.com/users.php?action=fetchAll',
update : 'http://domainname.com/users.php?action=update',
destroy : 'http://domainname.com/users.php?action=delete'
},
callbackKey: 'callback',
reader: {
type: 'json',
rootProperty: 'Users',
successProperty: 'success',
messageProperty: 'message'
},
writer: {
type: 'json',
writeAllFields: false,
encode: true
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
商店:
Ext.define("Sencha.store.Users", {
extend:"Ext.data.Store",
config:{
model:"Sencha.model.User",
remoteFilter:false,
remoteSort:true,
autoLoad:true,
}
}
});
Run Code Online (Sandbox Code Playgroud)
商店更新:
Ext.getStore('Users').set('userName', 'Tom');
Run Code Online (Sandbox Code Playgroud)
现在我想更新数据库中的记录:
Ext.getStore('Objects').sync();
Run Code Online (Sandbox Code Playgroud)
但我得到错误: 未捕获错误:[错误] [Ext.data.proxy.Server #create] JsonP代理只能用于读取数据.
如何更新记录数据 - 通过代理将其上传到数据库?