OWIN环境扩展


layout: docs-default

OWIN 环境扩展

IdentityServer3也提供了OWIN环境(IDictionary)的扩展,扩展在IdentityServer3.Core.Extensions命名空间。这可以用来从自定义页面来访问IdentityServer的功能。注意,只有自定义页面和IdentityServer在同样的OWIN管道才可以。

  • GetIdentityServerHost
    • IdentityServer的主机名
  • GetIdentityServerBasePath
    • IdentityServer 再托管程序中的根目录.
  • GetIdentityServerBaseUrl
    • IdentityServer的URL (其实就是合并了GetIdentityServerHostGetIdentityServerBasePath).
  • CreateSignInRequest
    • 创建一个登录请求并返回重定向到登陆页面的URL。
  • GetSignInMessage
    • 得到当前的 SignInMessage.
  • IssueLoginCookie
    • 发送完整登陆的cookie. 可以用来替代内置的登陆流程(比如:让用户在注册页面直接登陆).
    • AuthenticatedLogin 参数包括下面属性::
      • Subject: 用户唯一标识
      • Name: 用户显示名称
      • Claims: 可选的声明 ,用来放在登陆cookie里
      • AuthenticationMethod: 设置amr 声明.
      • IdentityProvider: 设置 idp 声明.
      • PersistentLogin: 发送一个持久化的cookie
      • PersistentLoginExpiration: 控制持久化 cookie的过期时间
  • GetIdentityServerLogoutUrl
    • 用于登出用户的URL
  • CreateSignOutRequest
    • 创建一个请求来触发结束会话endpoint的单点登出。返回一个URL来重定向用户。
  • GetCurrentUserDisplayName
    • 返回当前登陆用户的显示名
  • GetIdentityServerFullLoginAsync
    • 返回当前登录用的ClaimsIdentity.
  • GetIdentityServerPartialLoginAsync
    • 返回当前部分登陆的ClaimsIdentity
  • GetPartialLoginRestartUrlAsync
    • 返回当前部分登陆的完整登陆URL
  • GetPartialLoginResumeUrlAsync
    • 返回当前部分登陆状态下,需要继续完成完整登陆的URL
  • UpdatePartialLoginClaimsAsync
    • 替换档期部分登陆的声明
  • RemovePartialLoginCookie
    • 移除当前部分登陆的cookie
  • GetRequestId
    • 返回当前当前登陆请求的ID.
  • SetIdentityServerOrigin (v2.1新增)
    • 设置当前登录请求的来源
  • ResolveDependency (v2.2新增)
    • 从IdentityServer依赖注入系统解决依赖。
  • ProcessFederatedSignoutAsync ( v2.2新增)
    • 收回授权并显示HTML来触发单点登出。这个需要用在iframe里面,当一个第三方登陆调用了IdentitySrever登出回调函数后,IdentityServer处理的单点登出。
  • RenderLoggedOutViewAsync (v2.2新增)
    • 请求显示登出界面并清除登出消息的cookie
  • GetSignOutMessageId (v2.2新增)
    • 得到登出消息的ID
  • GetSignOutMessage (v2.2新增)
    • 得到登出消息
  • GetIdentityServerIssuerUri (v2.4新增)
    • 得到IdentityServer的issuerUri,或者从 IdentityServerOptions 得到,或者从请求中计算出来。
  • IssueClientToken (v2.5新增)
    • 当identityserver的扩展代码需要模拟客户端来进行令牌保护服务时, 创建一个JWT访问令牌。

你可能感兴趣的:(OWIN环境扩展)