使用 Webauthentication broker 进行 open id connect
Use Webauthentication broker for open id connect
我有一个客户端 url,其中实施了开放 ID 身份验证。如何在 UWP Win 10 中简单地实施开放 ID 连接。我可以为此使用 Web 身份验证代理吗?如果是,如何使用 WebAuthenticationBroker 进行操作?请举例
是的,WebAuthenticationBroker
旨在与 OpenID 和 OAuth 等协议一起使用。
基本上,在 UWP 中您只需要调用 authentication method 并传递请求和回调 URI:
var webAuthenticationResult =
await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None,
requestUri,
callbackUri);
if (webAuthenticationResult.ResponseStatus == WebAuthenticationStatus.Success) {
//String for service response
var data = webAuthenticationResult.ResponseData;
...
} else {
...
}
系统将在您的应用顶部显示一个叠加层 UI,要求用户向相应网站提供他或她的凭据。如果凭据正确,网站将 return callbackUri 和访问令牌。 WebAuthenticationBroker 将使用您提供的那个检查 callbackUri,如果一切正确,您将得到您的令牌。
如果您需要使用 WebView 进行自定义实现,我还建议查看 GitHub 上的以下存储库:
- IdentityModel.OidcClient - OpenID Connect
可移植库的实现
- UwpOidcClient - UWP
的 OpenID Connect 客户端示例实现
我有一个客户端 url,其中实施了开放 ID 身份验证。如何在 UWP Win 10 中简单地实施开放 ID 连接。我可以为此使用 Web 身份验证代理吗?如果是,如何使用 WebAuthenticationBroker 进行操作?请举例
是的,WebAuthenticationBroker
旨在与 OpenID 和 OAuth 等协议一起使用。
基本上,在 UWP 中您只需要调用 authentication method 并传递请求和回调 URI:
var webAuthenticationResult =
await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None,
requestUri,
callbackUri);
if (webAuthenticationResult.ResponseStatus == WebAuthenticationStatus.Success) {
//String for service response
var data = webAuthenticationResult.ResponseData;
...
} else {
...
}
系统将在您的应用顶部显示一个叠加层 UI,要求用户向相应网站提供他或她的凭据。如果凭据正确,网站将 return callbackUri 和访问令牌。 WebAuthenticationBroker 将使用您提供的那个检查 callbackUri,如果一切正确,您将得到您的令牌。
如果您需要使用 WebView 进行自定义实现,我还建议查看 GitHub 上的以下存储库:
- IdentityModel.OidcClient - OpenID Connect 可移植库的实现
- UwpOidcClient - UWP 的 OpenID Connect 客户端示例实现