Gregor Tudan
Greg0rT
gregor.tudan@cofinpro.de
Lege nicht alle Eier in einen Korb
Lege all deine Eier in einen Korb - und dann gib recht acht auf den Korb
Meistens sind hier mehrere Dinge gemeint:
erweitert die OAuth-Spec um:
Keycloak stellt fertige Adapter bereit für
jede Menge OIDC-Libraries für verschiedene Sprachen
keycloak.json
)
{
"realm" : "demo",
"clientId" : "hawtio-client",
"url" : "http://keycloak.example.com/auth",
"ssl-required" : "external",
"public-client" : true
}
je nach Plattform
application.yaml
, web.xml
)@RolesAllowed
)app.get('/complain', keycloak.protect(), complaintHandler);
<?xml version=""?>
<web-app>
<security-constraint>
<web-resource-collection>
<web-resource-name>Admins</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>KEYCLOAK</auth-method>
<realm-name>Demo</realm-name>
</login-config>
<security-role>
<role-name>admin</role-name>
</security-role>
</web-app>
RFC-Draft: OAuth 2.0 for Browser-Based Apps
RFC-8252: OAuth 2.0 for Native Apps
SFSafariViewController
UIWebView
(In-App Browser - don't do it)SFSafariViewController
SFAuthenticationSession
(iOS 11)
ASWebAuthenticationSession
(iOS 12)
Android: In-App Browser oder Custom-Tabs 🤷
(generische) 3rd-Party Libraries