我已使用OWIN成功将OAuth添加到我的WebAPI 2项目中.我收到令牌,可以在HTTP Header中使用它们来访问资源.
现在,我想在其他通道上使用这些令牌进行身份验证,而不是为OWIN模板制作的标准HTTP请求.例如,我正在使用WebSockets,其中客户端必须发送OAuth承载令牌进行身份验证.
在服务器端,我通过WebSocket接收令牌.但是,我现在如何将此令牌放入OWIN管道以从中提取IPrincipal和ClientIdentifier?在WebApi 2模板中,所有这些都是为我抽象的,因此我无需做任何事情来使其工作.
所以,基本上,我将令牌作为字符串,并希望使用OWIN来访问该令牌中编码的用户信息.
提前感谢您的帮助.
创建新的GKE集群后,创建集群角色失败,并显示以下错误:
Error from server (Forbidden): error when creating "./role.yaml":
clusterroles.rbac.authorization.k8s.io "secret-reader" is forbidden:
attempt to grant extra privileges: [PolicyRule{Resources:["secrets"],
APIGroups:[""], Verbs:["get"]} PolicyRule{Resources:["secrets"],
APIGroups:[""], Verbs:["watch"]} PolicyRule{Resources:["secrets"],
APIGroups:[""], Verbs:["list"]}] user=&{XXX@gmail.com
[system:authenticated] map[authenticator:[GKE]]} ownerrules= .
[PolicyRule{Resources:["selfsubjectaccessreviews"
"selfsubjectrulesreviews"], APIGroups:["authorization.k8s.io"], Verbs:
["create"]} PolicyRule{NonResourceURLs:["/api" "/api/*" "/apis"
"/apis/*" "/healthz" "/swagger-2.0.0.pb-v1" "/swagger.json"
"/swaggerapi" "/swaggerapi/*" "/version"], Verbs:["get"]}]
ruleResolutionErrors=[]
Run Code Online (Sandbox Code Playgroud)
我的帐户在IAM中具有以下权限:
Kubernetes Engine Admin
Kubernetes引擎集群管理员
所有者
这是我的role.yaml
(来自Kubernetes文档):
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: secret-reader
rules:
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get", "watch", "list"]
Run Code Online (Sandbox Code Playgroud)
根据RBAC的GCloud文档,我需要 …
rbac google-cloud-platform kubernetes google-kubernetes-engine
我正在尝试在构建服务器上使用MSBuild命令行构建解决方案。但是,MSBuild不会将任何dll复制到bin文件夹,因此后续目标将失败。
我的解决方案由几个项目组成,其中仅应打包一个项目。该项目引用了应该在之前构建的同一解决方案中的其他项目。
所有引用均<Private>true</Private>
在项目文件中设置为。
这是我的MSBuild命令:
Msbuild solution.sln /m /p:BuildInParallel=true /p:VersionNumber=1.2.3.4
"/t:Rebuild" /p:Configuration=Release /p:WebProjectOutputDir=publish\
"/p:GitVersion=abcdef (abcdef)" /p:OutDir=publish\bin\ /p:RunOctoPack=true
Run Code Online (Sandbox Code Playgroud)
当我在Visual Studio(2012或2013)中构建项目时,将创建bin文件夹,并将所有必需的dll复制到bin文件夹。Visual Studio将dll复制到bin文件夹后,MSBuild命令将起作用,直到我更改了任何引用的dll。
我读了一些关于间接引用没有被复制的帖子,但是对我来说,即使直接引用也没有被复制。
我也尝试调用目标,例如ResolveReferences
,但总是收到错误消息target ResolveReferences does not exist in the project solution.sln
。
有人知道我在做什么错吗?谢谢您的帮助。