问题标签 [webapi2]
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.
asp.net - web api 2 owin bearer token JwtFormat,如何为多个登录返回相同的令牌(OAuthAuthorizationServerProvider 和外部)
我有一个身份验证服务器,它为多个平台(移动、网络等)返回一个令牌,然后使用这个令牌他们可以向我的 API 发出请求。像这样的东西:http: //bitoftech.net/2014/10/27/json-web-token-asp-net-web-api-2-jwt-owin-authorization-server/
现在我需要添加外部登录(facebook、google、twitter)。
我在本指南中实现了它: http ://www.asp.net/web-api/overview/security/external-authentication-services
我不明白的是如何返回与常规身份验证中返回的相同的令牌(以便以后能够请求 API)。
我的 api 只知道自定义 jwt 令牌。
我需要从 GetExternalLogin 函数手动执行吗?
如果是的话,我做了这样的事情:
var ticket = new AuthenticationTicket(身份,道具);var accessToken = Startup.OAuthOptions.AccessTokenFormat.Protect(ticket);
现在我需要知道 1)需要添加到属性 IssuedUtc ,ExpiresUtc ,如何?在常规认证中是自动填写的 2)如何将其返回给客户端?
我最终在帐户控制器中看到了我需要做的事情:Authentication.SignIn(identity);
在提供者中: context.Validated(ticket);
也许我可以在帐户控制器中做同样的事情?
谢谢。
c# - Webapi 控制器和 Objectdatasource
我想一步一步地从 web 表单迁移到基于 z angularjs 或 devextreme 的客户端应用程序。目前我正在使用 objectdatasource 并通过一种标记为 dataobject 的控制器加载数据。由于我想一步一步走,所以我想知道是否可以先将我当前的控制器转换为 webapi 控制器并将 objectdatasources 绑定到 webapi 方法。所以zgqt在下一步我已经有了数据访问接口。
jquery - 使用 webapi2 和 jquery 的 Bluesnap api 实现
我总是收到需要身份验证的窗口。当我调用蓝色快照沙箱 URL 时。我已经用谷歌搜索并阅读了一些文章,其中说由于 CORS,出现了需要身份验证的消息框。我尝试在标头本身中添加基本身份验证,但没有运气。
JS代码
c# - 上传图像文件时将 mime 多部分正文部分写入输出流时出错
我正在关注此链接以使用 webapi2 将文件从 mvc 视图上传到服务器
http://www.strathweb.com/2012/08/a-guide-to-asynchronous-file-uploads-in-asp-net-web-api-rtm/
但我每次都收到这个错误
“将 mime 多部分正文部分写入输出流时出错”
c# - Web API 2 - 现在允许 PUT 的方法(405)
我被 Web API 2 控制器卡住了,我从中调用PUT
方法,它给了我一个错误,即不允许使用方法。我添加Web.config
了阻止 WebDAV 阻止方法的代码行。我尝试了一切,但它不起作用。这可能是我PUT
在控制器中的方法的问题。
这是我的控制器代码:
这是我调用 put 的代码:
在此代码之前,我将客户端定义为 http 并添加了所需的属性,并调用了其他控制器方法(GET、POST、DELETE),它们都可以工作。这是来自 Windows 窗体应用程序,我也从 Postman 调用,但仍然是同样的错误。
asp.net - 使用 Web API 2 不记名令牌验证令牌中的声明/角色
我想确认不记名令牌中的声明在每次 API 调用时都是最新的,以便我确保给定用户仍然可以访问给定方法。
例如,对于一个用 I 装饰的方法,[Authorize(Roles = "admin")]
我想确保在执行调用时用户是管理员,而不是在发出令牌时用户是管理员。
经过一番环顾后,我计划在public class VerifyTokenAttribute : System.Web.Http.AuthorizeAttribute
全局范围内编写应用程序并在内部OnAuthorization
检查操作是否被装饰,Authorize
如果是,则从数据库中获取用户信息并确认角色匹配。
有没有更好的办法?
jquery - WEB API2 / HTTP DELETE 未触发 - 405 错误
您好我正在尝试删除记录(HttpDelete)。控制器中的方法未触发并出现 405 Method Not Allowed 错误。
下面的jquery
下面的控制器
下面的 webapiconfig
网页配置如下
当我使用提琴手拨打电话时,它工作正常。如果我错过了代码中的任何设置,请告诉我。
感谢开发
asp.net - Asp.net WebApi2 - 避免抓取,避免通过浏览器直接访问,只允许来自域的 ajax 调用
我是 webapi2 的新手,我实现了一个简单的 WebApi2 项目,该项目从第三方 Web 服务(使用凭据调用)中解锁了一些数据
这很好用,但现在我正在寻找避免从我们的 webapi 中抓取内容的方法。它不是敏感数据,但它可能对竞争对手有利。
我们不能让我们的用户登录,但我正在寻找使某人更难从网络服务中抓取内容的方法。由于数据可以从我们的网站免费获得,我知道我们不能让它 100% 安全,但我必须做一些事情来让它变得更难(这似乎是人们以前反驳过的一个问题,我似乎无法找到一些明确的信息)
我研究了 CORS,但这似乎更适合反过来,允许来自其他域的请求。
也许在后端使用一些密钥,用一些日期时间和标头信息对其进行哈希处理,然后让 javascript 将其添加到 ajax 调用中,如果令牌有效,则检查 webapi 方法?
编辑
因为似乎没有一种简单(且干净)的方法来阻止令牌身份验证滥用,所以我决定使用 Ip 限制。不理想,但它有帮助:
我使用了这个库,它运行良好: https ://github.com/stefanprodan/WebApiThrottle
asp.net-web-api - 无法使用 Web API 生成 Elmah 日志记录的 Elmah.axd 文件
我只创建了 Web API。我想使用 Elmah Logging。我已经安装了它的 Nuget 包。但是当我尝试从浏览器访问 Elmah.axd 文件时,它给了我一个错误:404 Not Found。并且不会生成该文件。我已经关注了这个链接。
我需要做任何额外的事情来生成/访问这个文件吗?