问题标签 [token]
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.
c# - 使用自定义 ClientCredentials 进行 WCF 身份验证:要使用的 clientCredentialType 是什么?
我不得不放弃基本的 WCF UserName/Pwd 安全性并实现我自己的自定义客户端凭据,以保存超出默认提供的更多信息。
我完成了这篇 MSDN 文章,但我遗漏了一些东西,因为它不起作用。
首先,我有一些提供自定义 ClientCredentialsSecurityTokenManager 的自定义 ClientCredentials:
现在,当我运行该应用程序时,我的自定义凭据和令牌管理器确实被创建了。但是,在方法中:
tokenRequirement.TokenType 不是我的自定义令牌。这提出了我的第一个问题:WCF 到底是如何知道令牌要求是什么?
还有,方法:
客户端会调用一次,但返回的令牌序列化程序上的任何方法都不会被调用。这向我表明自定义令牌永远不会通过网络发送。我认为这是因为对 CreateSecurityTokenProvider() 的调用从未返回我的自定义令牌提供程序,因为 SecurityTokenRequirement 从未传入,表明需要我的自定义令牌。
在客户端,我有:
这些方法基本上应该从端点中删除默认凭据并附加我的自定义 CentralAuthCredentials 的新实例。(我从某处的 MSDN 文章中获取了这个 Remove/Add 组合)。
在配置中:
请注意,行为的 clientCredentials 类型设置为我的自定义客户端凭据。但是,目前我仍然将绑定的 clientCredentialType 设置为“UserName”。这提出了我的第二个问题:clientCredentialType=" 到底应该怎么做?" 如果我使用自定义凭据,设置为?根据 MSDN,消息安全的可用值是:None、Windows、UserName、Certificate和IssuedToken。
有任何想法吗?希望我只是缺少一些简单的东西?整个实现还有 6 个类,但我试图只包含了解情况所需的部分......
更新#1:
我整天都在做这个,感谢一些消息来源,我意识到我缺少的部分是此页面上的最后一步,即将 TokenParameters 添加到绑定中,以便绑定知道什么令牌看起来像。这就是我最初的第一个问题的答案;“到底是什么设置了令牌要求?” 答案:分配给绑定的 TokenParameters。
所以现在我添加了以下扩展,它在绑定上设置了 TokenParameters:
好吧,这让我更进一步。现在我在服务器上得到一个新的异常:
看起来 WCF 正在使用一些默认令牌管理器来尝试处理我的自定义令牌,而不是我的自定义令牌处理程序(我的自定义令牌处理程序的构造函数从未被调用)。我认为这是因为对于客户端,我有这个配置:
但是在服务器上,我没有任何等价物可以让它知道自定义客户端凭据。所以,新问题:在服务器的配置中,我应该告诉它自定义 ClientCredentials 是什么?
更新#2:
好吧,我终于想出了更多的谜题。我只实现了一个 ClientCredentials 实现,认为客户端发送凭据,仅此而已。客户端不对服务进行身份验证,因此我不需要自定义 ServiceCredentials。好吧,我错了。指定的 ServiceCredentials 对来自 ClientCredentials 的令牌进行身份验证,反之亦然。所以我只需要添加一个自定义的 ServiceCredentials 实现,它传递了相同的 TokenSerializer 和 TokenAuthenticator 类。
关于下一个问题:WCF 现在忽略了我在配置中指定的 x509 证书,这些证书与 UserName auth 一起工作正常。我将为这个问题打开一个全新的问题!
security - 带有令牌参数的 https URL:它有多安全?
在我们的网站上,我们根据用户的私人信息(通过表格提供)向用户提供模拟。我们希望允许他们稍后返回他们的模拟结果,但不强迫他们创建登录/密码帐户。
我们曾考虑向他们发送一封带有链接的电子邮件,他们可以从中获取结果。但是,很自然,我们必须保护这个 URL,因为私人数据受到威胁。
因此,我们打算在 URL 中传递一个令牌(如 40 个字符的字母和数字组合,或 MD5 哈希)并使用 SSL。
最后,他们会收到这样的电子邮件:
嗨,在https://www.example.com/load_simulation?token=uZVTLBCWcw33RIhvnbxTKxTxM2rKJ7YJrwyUXhXn
上取回您的结果
你怎么看待这件事?是否足够安全?对于令牌生成,您有什么建议?在 https 请求中传递 URL 参数怎么样?
c++ - 如何将文本文件拆分为单词?
我正在做一个任务,我应该读取一个文件并计算行数,同时计算其中的单词。我在 while 循环中尝试了 getline 和 strtok 的组合,但没有成功。
file:example.txt(要读取的文件)。
嗨,你好,真是一个惊喜。
欢迎来到这个地方。
愿您在这里过得愉快。
(3行,和一些单词)。
读取文件.cpp
perl - 您如何在 Perl 中标记/标记/拆分分隔字符串?
您如何将字符串(例如“a:b:c:d”)拆分为标记以便在 Perl 中进行解析?
(例如使用拆分?)
最重要的是寻找清晰,直接的答案(但之后添加任何有趣的信息花絮)。
javascript - Javascript令牌替换/附加
我有一个字符串,看起来类似于以下 'test:1;hello:five;just:23'。使用此字符串,我需要能够执行以下操作。
最终结果应该是 'test:567;hello:five;just:23;yes:23' (注意标记的确切顺序并不重要)。
只是想知道是否有人对如何解决这个问题有任何聪明的想法。我在想对右边的每个标记进行正则表达式替换,如果因为不匹配而没有发生替换,只需附加它。但也许有更好的方法。
干杯安东尼
编辑:右侧应覆盖左侧。左边是原来的内容,右边是新内容。另一种看待它的方式是,如果它们不存在于右侧,则仅将标记保留在左侧,并将所有标记保留在右侧。
@Ferdinand 感谢您的回复。问题是您提出的解决方案的效率。我最初考虑过类似的路线,但由于合并的 O(n*z) 复杂性(其中 n 和 z 分别是左侧和右侧的数字标记),更不用说拆分和连接了。
因此,为什么我试图查看正则表达式的路径。也许在幕后,正则表达式同样糟糕或更糟,但是有一个正则表达式从右侧存在的左侧字符串中删除任何令牌(O(n)右侧令牌的总量),然后只需添加2串在一起(即vat test = test1 + test2)似乎更有效。谢谢
iis - 基于 IIS 令牌的安全性、ssl 证书和 https、代理
我开发了一个新的网络服务。现在,我需要处理安全问题,因为我们打算使其成为一项安全服务。
为了设置 SSL 和 https,我需要获取并安装 SSL 证书。谁是证书颁发机构?
你知道该怎么做吗?
有没有这方面的简明文章?
问候。
大卫
windows-services - 如何获取 CreateProcessAsUser 的有效用户令牌?
我有一个以普通用户身份运行的应用程序和一个作为本地系统运行的服务。我希望应用程序能够告诉服务再次启动应用程序,一旦服务完成了其他一些事情。(所以应用程序不会在服务执行它的“事情”时运行。)为了让服务能够以第一次启动它的用户身份启动应用程序,它需要一个用户令牌。应用程序在退出之前将令牌发送到服务,但在服务尝试使用它时令牌/句柄无效。(它用它做的第一件事是 DuplicateTokenEx 获取主令牌。)
用户令牌是否始终只在调用 OpenProcessToken 的进程中有效?
有没有其他方法可以做到这一点?我不希望用户必须使用 logonuser “登录”到应用程序。那将是愚蠢的。我想我可以将“explorer.exe”的进程句柄从应用程序移交给服务,服务可以使用它来获取用户令牌,但这需要 PROCESS DUP HANDLE 访问权限。我对那个解决方案并不感到兴奋,但也许这是这样做的方法?
oauth - Oauth 撤销令牌
除了实际进行函数调用之外,还有什么方法可以确定 oauth 令牌是否已被撤销?我正在与具有单个函数调用的 Oauth 提供者合作,该函数调用既耗时又花钱。在我的网站上,我希望能够在拨打该电话时确定我的访问令牌是否有效。谢谢
security - Authentification and security model in client/server aplications
I'm developing custom client/server application that requires client to log in with their username and password. The user accounts are not related to Windows/AD accounts in any way. After login, client application will request other services from server system.
My question is what is the best way to implement this? What kind of architecture would fit best here? I guess some kind of ticket/token authentication system needs to be implemented???
Thanks
php - 如何跨服务器验证用户会话?
问题:下载链接应该显示在用户的主页中。只有在用户登录后才能访问该下载链接。
但真正的问题是用户的主页和下载链接位于不同的 Web 服务器上。
有没有办法可以发送带有下载链接的令牌并在那里验证它?