Giter Site home page Giter Site logo

keycloak / keycloak Goto Github PK

View Code? Open in Web Editor NEW
19.9K 374.0 6.3K 486.42 MB

Open Source Identity and Access Management For Modern Applications and Services

Home Page: https://www.keycloak.org

License: Apache License 2.0

HTML 0.07% Java 90.52% JavaScript 0.61% CSS 0.11% Shell 0.08% XSLT 0.13% FreeMarker 0.52% Batchfile 0.02% TypeScript 7.91% Groovy 0.01% Dockerfile 0.01% Fluent 0.01% Mustache 0.01%
keycloak oidc saml

keycloak's Introduction

Keycloak

GitHub Release OpenSSF Best Practices GitHub Repo stars GitHub commit activity

Open Source Identity and Access Management

Add authentication to applications and secure services with minimum effort. No need to deal with storing users or authenticating users.

Keycloak provides user federation, strong authentication, user management, fine-grained authorization, and more.

Help and Documentation

Reporting Security Vulnerabilities

If you have found a security vulnerability, please look at the instructions on how to properly report it.

Reporting an issue

If you believe you have discovered a defect in Keycloak, please open an issue. Please remember to provide a good summary, description as well as steps to reproduce the issue.

Getting started

To run Keycloak, download the distribution from our website. Unzip and run:

bin/kc.[sh|bat] start-dev

Alternatively, you can use the Docker image by running:

docker run quay.io/keycloak/keycloak start-dev

For more details refer to the Keycloak Documentation.

Building from Source

To build from source, refer to the building and working with the code base guide.

Testing

To run tests, refer to the running tests guide.

Writing Tests

To write tests, refer to the writing tests guide.

Contributing

Before contributing to Keycloak, please read our contributing guidelines. Participation in the Keycloak project is governed by the CNCF Code of Conduct.

Other Keycloak Projects

License

keycloak's People

Contributors

agagancarczyk avatar ahus1 avatar andymunro avatar dependabot[bot] avatar dguhr avatar edewit avatar hmlnarik avatar jenmalloy avatar jenny-s51 avatar jonkoops avatar mabartos avatar martin-kanis avatar matthewhelmke avatar mfrances17 avatar mhajas avatar mposolda avatar mstruk avatar patriot1burke avatar pdrozd avatar pedroigor avatar rmartinc avatar sguilhen avatar shawkins avatar ssilvert avatar stianst avatar thomasdarimont avatar tkyjovsk avatar tnorimat avatar vmuzikar avatar vramik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

keycloak's Issues

Email tests means local tests always fail

Describe the bug
It's not possible to run tests locally and get all green due to a hardcoded dependency on a 3rd party SMTP server. See https://github.com/keycloak/keycloak-nodejs-admin-client/blob/master/test/users.spec.ts#L47-L59. The credentials for this service are configured in TravisCI so they pass there, but not available locally.

To Reproduce
Steps to reproduce the behavior:

  1. Run the tests locally, see two failures for email tests

Expected behavior
It's possible to run all tests locally and get all green.

Screenshots
n/a

Enviroment (please complete the following information):

  • OS: MacOS Mojave
  • Keycloak Version: 7.0.1
  • Library Version: master, HEAD

Additional context
n/a

Authentication Management: Required actions

I see that "Required actions" are already in 1.13.x and are mentioned in README, but not published yet.

I considered just using the git branch as my dependency, but the build step does not run when the package is installed this way.

What's missing? What work is still necessary for 1.13.1 to be published?

failed to initialize keycloak

Hello. I was trying to evaluate if this keycloak-admin-ui would be a viable alternative to the current admin console but I was stopped at the setup.

  • Keycloak Running at 8180
  • Client added using security-admin-console-v2.json
  • Dependencies installed:
  • Starting server: failed to initialize keycloak

image

It looks like a wrong path problem and potentially a missing dependency?
I look forward to hearing back from you on this

Resolve build issue with patternfly-addons

Snowpack doesn't build the app properly due to line 2 of index.css:
@import "@patternfly/patternfly/patternfly-addons.css";

Console error:

[snowpack] Cannot find module '@patternfly/patternfly/patternfly.min.css";
@import "@patternfly/patternfly/patternfly-addons.css'

Able to build by deleting this line and then adding it again while the app is running.

users.create: UnhandledPromiseRejectionWarning: Error: Request failed with status code 500

When trying to create a new user in any realm it gives error

To Reproduce

import KcAdminClient from 'keycloak-admin';
const kcAdminClient = new KcAdminClient();
const setUp = async () => {
    await kcAdminClient.auth({
        username: 'XXX',
        password: 'XXX',
        grantType: 'password',
        clientId: 'admin-cli'
    });
    const users = await kcAdminClient.users.find(); //it works fine
    kcAdminClient.setConfig({realmName: 'Test'});
    let newUser =  {
                    username: 'meraj-node',
                    enabled: true,
                    emailVerified: false,
                    firstName: 'Meraj Ahmad',
                    lastName: 'Siddiqui',
                    email: '[email protected]',
                    credentials :[{
                        value: "mypassword",
                        device: "macId",
                        temporary: false
                    }]
                };
    const u = await kcAdminClient.users.create( newUser)
    console.log(u)
}
setUp()

Error :

(node:21736) UnhandledPromiseRejectionWarning: Error: Request failed with status code 500
    at createError (/home/meraj/code/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/home/meraj/code/node_modules/axios/lib/core/settle.js:18:12)
    at IncomingMessage.handleStreamEnd (/home/meraj/code/node_modules/axios/lib/adapters/http.js:202:11)
    at IncomingMessage.emit (events.js:203:15)
    at IncomingMessage.EventEmitter.emit (domain.js:448:20)
    at endReadableNT (_stream_readable.js:1145:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)
(node:21736) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:21736) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Expected behavior
Should return some value instead of throwing error or should create user

Enviroment (please complete the following information):

  • OS: Ubuntu 18.04
  • Keycloak 7.0.0
  • keycloak-admin: 1.12.0
  • node : 10.6.13

BaseUrl isn't getting used

I'm getting the following error when calling the auth function:
ERROR Invoke Error { "errorType": "Error", "errorMessage": "connect ECONNREFUSED 127.0.0.1:8080", "trace": [ "Error: connect ECONNREFUSED 127.0.0.1:8080", " at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)" ] }

It looks like it's trying to hit the default baseUrl even though i passed in a new baseUrl. Code is below:

const KeycloakAdminClient = require('keycloak-admin').default;

const settings = {
	baseUrl   : config.KeycloakBaseLocation,
	username  : config.KeycloakUsername,
	password  : config.KeycloakPassword,
	grant_type: 'password',
	client_id : 'admin-cli',
	realmName : config.KeycloakRealm
}

const client = new KeycloakAdminClient();
await client.auth(settings);

Group resource: setOrCreateChild don't return 'location header'

Calling adminClient.groups.setOrCreateChild({ realm: realm, id: id }, group)

causes an exception:
SystemException: location header is not found in request: https://auth-test.lbb7lk8hq4v71.hms-dev.cloud/auth/admin/realms/qc/groups/4e964d7f-9af6-4a71-81dd-318f3b9f381d/children

Environment:

  • Keycloak Server Version v6.0.1
  • AdminClient: v1.12.0
  • node: v10.15.3

In keycloak admin console you can find:
https:///auth/admin/realms/qc/groups/b60dbd41-14ed-4048-87fa-143135cc859b/children
returns:

  • Status: 204
  • Headers: content-type | application/json, date | Tue, 20 Aug 2019 08:51:29 GMT

May be to set 'returnResourceIdInLocationHeader' for this specific call isn't suitable any more.

Remark: Other calls like adminClient.groups.create are returning the location header.

Testing broken

yarn test fails.

Need to get testing infrastructure going with a working example so we can start adding tests to our PR's.

Text color of Help menu description text

The descriptive text on the help menu in the page header has the wrong color. This is because of a bug in the PatternFly dropdown when contained within a dark component. This has already been fixed in an open PR for this issue patternfly/patternfly#3411
It is expected that the bug fix will be in the next released version of PatternFly core (release 2020.12). It should not require any further action on keycload-admin-ui besides taking in the updated version of PatternFly.

Improve get started guidelines

I tried to follow the readme to get started.

What I did

  1. I ran a keycloak instance in port 8180
  2. yarn
  3. yarn start:dev

What happened

The application hangs in Loading the admin console with a spinner, looking at the console I get the following failure

keycloak-js.js:1935 GET http://localhost:8180/auth/realms/master/protocol/openid-connect/3p-cookies/step1.html 404 (Not Found)

Should not full reload the page on select

IMO we only need to set a the currently selected realm and don't have to do a full page reload to add the selected realm in the url. If we need the realm in the url we could also do this without a reload

Tooltips for field-level help on forms

Create a pattern for all input forms to use in displaying help text at the field level. Ensure that help tooltips (or popovers) work with keyboard/screenreader.

Fonts are not loading

Getting error messages like this on *.woff files: Failed to load resource: the server responded with a status of 404 (Not Found)

Logout

Hi,
After looking for in the source code I didn't see a function that allow the user to disconnect.
is this features present or not?

Tab and enter key for multi-line input

You can't add and remove items on multi-line input using keyboard only. Tab order needs to include the plus and minus buttons so you can go to them with the keyboard and select with enter key.

Update developer instructions

Readme needs to include info about installing yarn and about downloading and running keycloak manually. Remove part about running from keycloak/keycloak testsuite.

No group assigned while creating a user

Describe the bug
When I try to create a user with a group by default, it does not work.

To Reproduce
Steps to reproduce the behavior:

  1. What API did you use?
    I just:
  • Installed keycloack in local, configured it and created an example realm and group
  • Created the example that is in your readme
  • Added groups to the create method...
  • Everything works except the group is not assigned
  1. What error message did you see?
    No error is showed, the user is created but no group is assigned
  2. Give us a minimum code example
await kcAdminClient.users.create({
        realm: 'realm-test',
        username: 'username',
        email: '[email protected]',
        groups: ['group-test'],
        enabled: true
    });

Expected behavior
To create the user but with the group assigned

Screenshots
NA

Enviroment (please complete the following information):

  • OS: [e.g. Ubuntu]
    MacOS Catalina
  • Keycloak Version
    8.0
  • Library Version [e.g. 1.9.0]
    lastest

Additional context
NA

Thanks!
Isma

Add prettierrc file

Hey folks, most used text editors try to use prettierrc file to format the code.

Would be great if you add it to the project since I notice that you use double and by default, and at least VS Code, it seems to be configured to use single-quote by default.

Implement Routing

We need to integrate routing such that the left side menu instantiates a component in the content area and it has a unique URI.

External link icon spacing

The external link icon does not have the correct spacing. I think we may want to use the Button link component to ensure proper spacing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.