如本文所述,我已经为我的web api(个人帐户)实现了安全性。
我已经在godaddy(共享托管)上托管了该网站,它运行良好。当我使用url“domain.com/token”请求令牌时,我得到了到期日在15天内的令牌。我在“StartupAuth.cs”中使用
AccessTokenExpireTimeSpan = TimeSpan.FromDays(15)
例如。:
{
"access_token":"qwertyuiop.....",
"token_type":"bearer",
"expires_in":1209599,
"userName":"user@example.com",
".issued":"Wed, 11 Feb 2015 01:00:00 GMT",
".expires":"Thu, 26 Feb 2015 01:00:00 GMT"
}
(我在上面的代码中输入了值,但您知道“.expires”字段。
获取令牌后5分钟,当我尝试通过传递授权访问API中的“get”或“post”或任何方法时:头中的承载令牌为:
Authorization: Bearer qwertyuiop.....
我发现这个错误:
{"Message":"Authorization has been denied for this request."}
虽然它只有5分钟,令牌应该可以使用15天,但它会在5分钟内过期。当我在5分钟的时间间隔内请求任何方法“get”/“post”时,我会用JSON中的数据得到正确的响应。简而言之,授权成功。
我通过Fiddler、Chrome的REST插件和使用API的移动应用程序重复了这个行为。
我有网络。会话的配置值如下(我认为是相关的)
<sessionState timeout="180" />
注意,并没有使用表单身份验证,所以web中该部分超时。配置不是必需的。
知道发生了什么吗?此超时导致使用API的移动应用程序的用户不时重新登录。任何帮助都将不胜感激。
谢谢
尝试将空闲超时(分钟)设置为5分钟以上。您可以在下面找到此选项
iis application pool->advanced settings
检查WebServer,在IIS中,Machine Key可以在应用程序级别设置,每次应用程序池回收时都会生成一个新的Machine Key,因此您需要一个新令牌。您可以在网站级别或根服务器级别设置Machine key。也许这可能会有所帮助
添加到web。配置不受应用程序池回收的影响
<system.web>
<machineKey validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B"
decryptionKey="261F793EB53B761503AC445E0CA28DA44AA9B3CF06263B77"
validation="SHA1"/>
阅读此处如何生成https://support.microsoft.com/en-us/kb/312906
我想避开keycloak登录页面。我将这个“避免keycloak默认登录页面和使用项目登录页面”链接引用到“http://localhost:5555/auth/realms/master/protocol/openid-connect/token”链接,并能够使用post方法获得访问令牌。 在此步骤中获得访问令牌后,提到要传递以下头部 标题:{ 但是不清楚将访问令牌传递到哪里,响应是什么,请求类
任何人都可以帮助或建议我应该坚持什么,以便能够代表用户发布-一旦他们从服务或控制台应用程序给了我们许可。 提前谢了。
目前在我的团队的web应用程序中,我们在一个名为Auth:“dfdfdf ...”的头中传递访问令牌.我们使用AWS Lambda和令牌授权器来访问我们的API网关资源。 还有一种不同类型的承载令牌头:授权:承载:通过Javascript发送授权令牌承载 区别是专有/命名,还是亚马逊的令牌授权人在功能上与承载令牌模式不同?
我用的是角度和节点。js与Auth0一起登录。我正在使用《快速入门指南》启动API。这是我使用Auth0 API的后端。 使用Auth0通用登录登录后,我会尝试访问我的后端,查看我是否获得授权。 这是检查我是否被授权的代码。 注意,我没有传递任何东西(我想我需要传递,但Auth0指南没有告诉我)。 在检查我是否被授权后,我得到一个错误,没有找到授权令牌。不知道我在这里干什么。我的后端是否未正确连接
我正在尝试与URL(python客户端)建立websocket连接,该URL需要传入jwt令牌,服务器(在GO中实现)在上侦听该请求,并应该通过解析令牌进行身份验证。 我试着用这部分代码来提出请求- 此请求命中运行此代码以验证此请求的服务器 func ParseFromRequest(req*http.Request,keyFunc-keyFunc)(令牌*令牌,错误){ } 每次,我都会得到“E
我执行本问题中描述的步骤: Laravel的5.3护照和api路由 从api的路径来看,一切都很好,我可以注册新用户,读取他们的数据等等。 然后在AuthServiceProvider上添加此命令 护照::代币ExpireIn(碳::现在()- 我以url{{url}}/oauth/token登录邮递员 正文:application/x-www-form-urlencoded { 授权类型:{pa