Prerequisites Keycloak server should be up and running By default Keycloak will start on http://localhost:8180 To install and configure Keycloak visit www.keycloak.org/docs/latest/getting_started/index.html. Gitlab must be installed locally By default Gitlab starts on http://localhost:3000 To install and configure Gitlab visit https://docs.gitlab.com/omnibus/manual_install.html Environment Gitlab Installed package - gitlab-ce_11.1.4-ce.0_amd64.deb (Omnibus package) Keycloak version - Version 4.2.1.Finalhttps://github.com/ChathuminaVimukthi/Gitlab-SSO-implementation-using-Keycloak SSO Configuration GitLab can be configured to act as a SAML 2.0 Service Provider (SP). This allows GitLab to consume assertions from a SAML 2.0 Identity Provider (IdP) to authenticate users. For this SSO implementation, Gitlab omnibus package is used. But the source package can be used as well. The configuration for the source packge is available on https:/...
What is TDD? If somebody asks me to explain TDD in few words, I say TDD is a development of tests before a feature implementation. You can argue that it’s hard to test things which are not existing yet. And Kent Beck will probably give you a slap for this. So how is it possible? It can be described by following steps: 1. You read and understand requirements for a particular feature. 2. You develop a set of tests which check the feature. All of the tests are red, due to absence of the feature implementation. 3. You develop the feature until all tests become green. 4. Refactor the code. TDD requires a different way of thinking, so in order to start TDD you need to forget the way you developed code before. This process is very hard. And it is even harder if you don’t know how to write unit tests. But it’s worth it. Developing with TDD has valuable advantages: 1. You have a better understanding of a f...