Skip to content

Commit

Permalink
v0.2.6-hotfix
Browse files Browse the repository at this point in the history
  • Loading branch information
dehypnosis committed Mar 12, 2020
1 parent 1ad008d commit 31bd197
Show file tree
Hide file tree
Showing 10 changed files with 43 additions and 25 deletions.
42 changes: 40 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ Also including default interaction React.js application for login/logout/registr

![Project Architecture Diagram](./docs/diagram.svg)


# Features
- Identity Provider
- based on RDBMS
Expand All @@ -33,7 +32,7 @@ Also including default interaction React.js application for login/logout/registr
- support i18n; for now ko-KR, en-US
- Moleculer integrated actions and events
- manage IDP claims schema and identity
- manage OP client and other models
- manage OP client and other models
- React App for OP interaction rendering
- based on `react-native-ui-kitten` and `react-navigation`
- session based
Expand All @@ -42,6 +41,45 @@ Also including default interaction React.js application for login/logout/registr
- support theming and various customization option without rebuild from server configuration
- this whole app can be replaced to custom one from server configuration

# Demo

## OpenID Connect Provider and React web application
![app1](./docs/app1.gif)
![app2](./docs/app2.gif)

## Dynamically define claims schema
![mol1](./docs/mol1.gif)

## Internal moleculer service actions
```
════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
╟ action │Params
╟────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────
║ iam.client.count │ where
║ iam.client.create │ client_id, client_name, client_secret, client_uri, logo_uri, policy_uri, ...
║ iam.client.delete │ id
║ iam.client.find │ id
║ iam.client.get │ where, offset, limit
║ iam.client.update │ client_id, client_name, reset_client_secret, client_secret, client_uri, logo
║ iam.id.count │ where
║ iam.id.create │ scope, metadata, claims, credentials
║ iam.id.delete │ id, permanently
║ iam.id.find │ id, email, phone_number, where, scope
║ iam.id.get │ where, offset, limit, scope
║ iam.id.refresh │ id, where
║ iam.id.restore │ id
║ iam.id.update │ id, scope, claims, metadata, credentials
║ iam.id.validate │ id, scope, claims, credenti
║ iam.id.validateCredentials │ password
║ iam.model.count │ kind, where
║ iam.model.delete │ kind, where, offset, limit
║ iam.model.get │ kind, where, offset, limit
║ iam.schema.define │ scope, key, description, unique, immutable, validation, migration, parentVersion, ...
║ iam.schema.find │ key, version, active
║ iam.schema.get │ scope, key, version, active
╚════════════════════════════╧═══════════════════════════════════════════════════════════════════════════════════════
```

# Usage
## 1. Documents
- [Features and details: ./docs](./docs)
Expand Down
22 changes: 1 addition & 21 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,3 @@
# Overview

## available oidc endpoints:
discovery : http://localhost:9090/.well-known/openid-configuration
authorization : http://localhost:9090/oidc/auth
check_session : http://localhost:9090/oidc/session/check
code_verification : http://localhost:9090/oidc/device
device_authorization : http://localhost:9090/oidc/device/auth
end_session : http://localhost:9090/oidc/session/end
introspection : http://localhost:9090/oidc/token/introspect
jwks : http://localhost:9090/oidc/jwks
pushed_authorization_request : http://localhost:9090/oidc/request
registration : http://localhost:9090/oidc/client/register
revocation : http://localhost:9090/oidc/token/revoke
token : http://localhost:9090/oidc/token
userinfo : http://localhost:9090/oidc/userinfo

## interaction (sign in/out, register, reset password, verify email/phone number, ... other custom implementations)
interaction : http://localhost:9090/interaction


## idp actions (moleculer)
...
TODO: document with https://docusaurus.io
Binary file added docs/app1.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/app1.mp4
Binary file not shown.
Binary file added docs/app2.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/app2.mp4
Binary file not shown.
Binary file added docs/mol1.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/mol1.mp4
Binary file not shown.
2 changes: 1 addition & 1 deletion pkg/moleculer-iam-app-renderer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "moleculer-iam-app-renderer",
"version": "0.2.6",
"version": "0.2.6-hotfix",
"author": "QMIT Inc.",
"repository": {
"type": "git",
Expand Down
2 changes: 1 addition & 1 deletion pkg/moleculer-iam-app-renderer/src/app/options.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ export class AppOptionsProvider extends React.Component<{initialOptions: Partial
|| (document.cookie.split("; ").find(s => s.trim().startsWith("theme=")) || "").split("=")[1] // cookie second
if (theme && theme !== this.state.theme && Object.keys(this.state.palette).includes(theme)) {
console.debug("app theme options from querystring/cookie:", theme);
document.cookie = `theme=${theme}; path=/`; // as session cookie
this.state.theme = theme;
}
document.cookie = `theme=${theme}; path=/`; // store as session cookie
}

render() {
Expand Down

0 comments on commit 31bd197

Please sign in to comment.