<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Michal Trojanowski on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/michal-trojanowski/</link><description>Articles written by Michal Trojanowski on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 04 Feb 2021 08:48:06 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/michal-trojanowski/index.xml" rel="self" type="application/rss+xml"/><item><title>OIDC Client with Mutual TLS Client Authentication</title><link>https://foojayio.github.io/website/today/oidc-client-with-mutual-tls-client-authentication/</link><pubDate>Thu, 04 Feb 2021 08:48:06 +0000</pubDate><guid>https://foojayio.github.io/website/today/oidc-client-with-mutual-tls-client-authentication/</guid><description>&lt;p&gt;It is common to authenticate OAuth and OpenID Connect (OIDC) clients with secrets. When you register a client in the Authorization Server (i.e., the OpenID Connect Provider, OP), you typically get a client ID and a secret. These are then used as credentials whenever your client sends requests to the Authorization Server. Often, this type of credential will provide a sufficient level of security for a deployment; other times, however, this simply is not enough. Authenticating with client ID and secret means that if anyone manages to steal or guess your application&amp;rsquo;s credentials, they will be able to use them to impersonate it. The attacker does not even have to intercept the credentials themselves. They may be able to capture a request sent to the Authorization Server and replay it. The Authorization Server does not know who is sending the request; it can only check whether the credentials are valid. (This is why it&amp;rsquo;s also important to use TLS and unguessable client secrets when using this type of credential.)&lt;/p&gt;</description></item></channel></rss>