0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2024-12-23 20:33:16 -05:00
Commit graph

565 commits

Author SHA1 Message Date
Gao Sun
d108f4b883
fix(core): set module in base config (#685) 2022-04-28 03:58:14 +00:00
Gao Sun
6738b6a088
refactor(core): use esm in core (#681) 2022-04-28 11:19:38 +08:00
IceHe.xyz
7278ba4095
fix(core): update timestamp field with millisecond precision (#677) 2022-04-27 17:02:21 +08:00
Gao Sun
0fbca8be4b
refactor(core): add manyRows() for queries (#665) 2022-04-26 17:26:50 +08:00
Gao Sun
f5c7faf775
refactor: move cli -> core 2022-04-26 14:11:15 +08:00
IceHe.xyz
a10b427c87
feat(core,schemas): log register (#601) 2022-04-26 03:49:11 +00:00
IceHe.xyz
3aa4342f2e
feat(core,schemas): make it type-safer to log (#656) 2022-04-26 11:31:07 +08:00
Gao Sun
1636f10f30
chore: align author (#657) 2022-04-25 03:26:41 +00:00
renovate[bot]
25814d92ef
fix(deps): update dependency slonik to v28 (#649)
* fix(deps): update dependency slonik to v28

* fix: build

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Gao Sun <gao@silverhand.io>
2022-04-24 10:34:18 +00:00
Gao Sun
2d7918a224
feat(jest-config): init package (#644)
* feat(jest-config): init package

* chore(deps): upgrade `@types/jest`

* fix(core): add jest-matcher dependency

add jest-matcher dependency

Co-authored-by: simeng-li <simeng@silverhand.io>
2022-04-24 18:02:18 +08:00
simeng-li
fefe566044
fix(core): remove useless todo comment (#653)
remove useless todo comment
2022-04-24 14:39:07 +08:00
renovate[bot]
88e58b8b0c
fix(deps): update dependency jose to v4 (#646)
* fix(deps): update dependency jose to v4

* fix(deps): update jose usage

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Gao Sun <gao@silverhand.io>
2022-04-24 13:55:47 +08:00
renovate[bot]
f846872dc5
fix(deps): update dependency koa-body to v5 (#647)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-24 13:52:02 +08:00
Gao Sun
61d1964506
refactor(core): allow read private key from env (#629) 2022-04-24 05:47:45 +00:00
Gao Sun
ef60a474f6
refactor: allow start from project root (#630) 2022-04-24 12:12:48 +08:00
Wang Sijie
96848e6b0f
feat(console): page settings (#612) 2022-04-24 11:46:35 +08:00
Gao Sun
8cf7f3643f
Merge pull request #628 from logto-io/gao-log-2254-add---no-inquiry-option-to-directly
refactor(core): add `--no-inquiry` option
2022-04-24 09:55:42 +08:00
Gao Sun
0a21303b41
refactor: align node version (#625) 2022-04-24 09:50:59 +08:00
renovate[bot]
fbc8bed6a4
fix(deps): update dependency i18next to v21 (#645)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-23 23:58:54 +08:00
renovate[bot]
06d1f1e906
chore(deps): update dependency openapi-types to v11 (#635)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-23 23:54:45 +08:00
renovate[bot]
e03426b36d
chore(deps): update dependency tsc-watch to v5 (#637)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-23 23:53:37 +08:00
renovate[bot]
7b485aebab
chore(deps): update dependency lint-staged to v12 (#634) 2022-04-22 16:46:39 +00:00
Gao Sun
4481c2b351
refactor(core): add --no-inquiry option 2022-04-22 18:24:50 +08:00
renovate[bot]
4399dea218
fix(deps): update dependency dotenv to v16 (#624)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-22 18:07:35 +08:00
Gao Sun
6a62e32fa5
refactor(core): inquire when required env not found (#586)
* refactor(core): inquire when required env not found

* refactor(core): add comments for create DB pool
2022-04-21 16:13:59 +08:00
IceHe.xyz
4ba37e7e73
feat(core,schemas): log sign-in (#594)
* feat(schemas): sign-in log types

* feat(core): log username-password sign-in

* feat(core): log passwordless sign-in

* feat(core): log social sign-in
2022-04-21 15:07:54 +08:00
Wang Sijie
8e13dd5746
feat(console): user role select (#589) 2022-04-21 12:38:54 +08:00
IceHe.xyz
e21d8d38f3
chore(core,schemas): remove old user logs (#597)
* chore(core): remove user logs

* chore(schemas): remove user logs
2022-04-21 11:04:34 +08:00
IceHe.xyz
7990b813ab
refactor(core,phrases,schemas): move language enum and fix Chinese enum value (#593) 2022-04-21 10:55:06 +08:00
Gao Sun
7e14ccb1a9
refactor(core): per comment 2022-04-20 15:59:14 +08:00
Gao Sun
f4a656300e
fix: rebase error 2022-04-20 15:56:43 +08:00
Gao Sun
dff23b57db
refactor(core): move database pool into env set 2022-04-20 15:56:38 +08:00
IceHe.xyz
d4e241b661
refactor(core): remove deprecated koa-user-log middleware (#591)
* refactor(core): remove koa-user-log middleware

* refactor(core): remove user-log queries
2022-04-20 15:11:43 +08:00
IceHe.xyz
4491eab5b4
feat(core): koa-log middleware (#590) 2022-04-20 06:56:33 +00:00
IceHe.xyz
0560928ca4
refactor(core): rename functions to avoid naming conflicts (#588) 2022-04-20 14:28:46 +08:00
Gao Sun
08ce66f317
refactor(core): use SSOT for env variables (#578)
* refactor(core): use SSOT for env variables

* fix(core): tests
2022-04-20 14:14:37 +08:00
IceHe.xyz
3dc07312a0
feat(core): insert log into DB (#587) 2022-04-20 12:28:56 +08:00
IceHe.xyz
608f667963
test(core): separate the color validation cases from tests of sign-in experience (#577)
* test(core): hexColorRegEx

* test(core): sign-in experience branding colors
2022-04-20 12:08:55 +08:00
Xiao Yijun
975e715c47
fix(core): revert add oidc config to application response (#566) 2022-04-18 22:30:57 +08:00
simeng-li
f1576b9916
fix(core): fix sign-in settings api route (#564)
* fix(core): fix sign-in settings api route

fix sign-in settings api route

* test(ui): add ut

add ut

* fix(core): fix ut

fix ut
2022-04-18 15:24:34 +08:00
IceHe.xyz
3da3309cbf
refactor(core,schemas): pascalcase enum keys (#558)
* refactor(schemas): pascalcase enum keys

* chore(core): pascalcase enum keys
2022-04-18 05:35:48 +00:00
IceHe.xyz
1ef04bd45d
refactor(core): clear mocks after each test (#559) 2022-04-18 12:50:49 +08:00
Darcy Ye
14cdddc18e
feat(core): add connector config examples (#551) 2022-04-14 17:20:41 +08:00
IceHe.xyz
a9466667c0
refactor(core): post application (#552) 2022-04-14 15:54:21 +08:00
Xiao Yijun
d238168ebf
feat(core): add oidc config to the response of application apis (#536) 2022-04-14 14:48:56 +08:00
Darcy Ye
2f22a81a8f
feat(core): add Alipay web connector (#522) 2022-04-14 12:22:30 +08:00
simeng-li
f0a961225d
refactor(core): phone method refactor (#537)
* refactor(core): rename signin method phone with sms

replace phone signin method with sms

* refactor(ui): rename api method

rename api method

* fix(ui): cr fix rename method

rename method

* fix(ui): update naming convention

update naming convention
2022-04-14 11:26:10 +08:00
Charles Zhao
3767229389
Merge pull request #543 from logto-io/charles-log-1943-connectors-get-started
feat(console): connectors get-started page
2022-04-13 20:14:16 +08:00
Charles Zhao
eeeb80ba4b
feat(console): connectors guide page 2022-04-13 20:09:25 +08:00
IceHe.xyz
c3c2bf20f1
feat(core): validate custom client metadata when post or patch application (#529) 2022-04-13 15:23:04 +08:00
Charles Zhao
a710ec6ba5
feat(core): add connector config json templates 2022-04-12 16:59:19 +08:00
simeng-li
85c9eabfca
feat(core): add sign-in-settings api for client use (#534)
add sample sign-in-settigns api for client use
2022-04-12 12:05:29 +08:00
IceHe.xyz
26c3e1fe2c
fix(core): extraClientMetadata properties (#530) 2022-04-11 14:22:16 +08:00
Gao Sun
06ff890358
fix(core): test cases 2022-04-09 22:06:41 +08:00
Gao Sun
ada4da2fbf
feat(cli): seed tables 2022-04-09 21:53:53 +08:00
IceHe.xyz
fb65c65893
feat(core,schemas): cors allowed origins (#507)
* feat(schemas): cors allowed origins of application in custom OIDC client metadata

* refactor(schemas): rename CustomClientMetadataType to CustomClientMetadataKey

* feat(core): cors allowed origins
2022-04-08 18:16:20 +08:00
IceHe.xyz
5625b8838c
refactor(core): split mock.ts into __mocks__/*.ts (#510)
* chore(core,ui): coverage ignore src/__mocks__/

* chore(core): build excludes src/__mocks__/

* refactor(core): split mock.ts into __mocks__/*.ts
2022-04-08 09:47:09 +00:00
Gao Sun
0499024fdf
refactor(core): remove resource scopes 2022-04-08 16:07:34 +08:00
IceHe.xyz
7eb2e41936
refactor(core): remove find-many (#511) 2022-04-07 21:16:59 +08:00
IceHe.xyz
e969e15e3e
test(core): guard sign-in methods and social connector ids (#498)
* test(core): sign-in-methods guard of sign-in experience

* test(core): social-sign-in-connector-ids guard of sign-in experience

* test(core): guard branding of sign-in experience
2022-04-07 12:18:27 +08:00
IceHe.xyz
9d15b584ca
test(core): guard terms of use and language info (#497)
* test(core): terms-of-use guard of sign-in experience

* test(core): add null test cases for guards of sign-in experience

* test(core): language-info guard of sign-in experience
2022-04-07 12:04:09 +08:00
IceHe.xyz
9e25a097bb
test(core): guard branding of sign-in experience (#494)
* chore(core,ui): upgrade jest related dev dependencies to latest versions

* test(core): branding guard of sign-in experience
2022-04-07 11:56:21 +08:00
IceHe.xyz
b0de73a4a1
test(core): get sign-in experience (#499) 2022-04-07 11:42:20 +08:00
Gao Sun
4a904f2953
ci: upload eslint annotations (#490)
* ci: upload eslint annotations

* ci: update `upload-annotations.yml`
2022-04-06 06:06:34 +00:00
IceHe.xyz
71465ca999
feat(schemas,core,phrases)!: add type to connector schema and sync to DB (#491)
* feat(schemas,core,phrases)!: add type in connector schema and sync to DB

* chore(core): fix code about connector type
2022-04-06 12:11:06 +08:00
IceHe.xyz
812841494a
feat(core): update social sign-in connector IDs only when social sign-in is enabled (#488) 2022-04-02 11:34:55 +08:00
IceHe.xyz
58d03ae715
feat(core,phrases): validate social sign-in method with social connector IDs (#485) 2022-04-01 17:57:29 +08:00
IceHe.xyz
efdb24833e
feat(core,phrases): validate sign-in methods with enabled connectors (#480) 2022-04-01 16:32:45 +08:00
IceHe.xyz
bf94ee2d10
feat(core,phrases): validate there must be one and only one primary sign-in method (#475) 2022-04-01 13:52:01 +08:00
IceHe.xyz
2356c2ae2e
feat(core): validate sign-in experience branding and terms of use (#477) 2022-04-01 13:40:32 +08:00
Darcy Ye
2a153c2b6d
feat(core): add wechat-native connector (#470)
* feat(core): add wechat-native connector

* feat(core): add wechat native getAuthorizationUri UT
2022-03-31 18:03:51 +08:00
Darcy Ye
004fe65d5a
feat(core): validate connector config before enabling (#478)
* feat(core): validate connector config before enabling

* feat(core): remove code redundancy
2022-03-31 18:02:35 +08:00
Charles Zhao
48bd57c94e
chore: bump version of configs 2022-03-31 15:18:34 +08:00
IceHe.xyz
cd63388ab1
feat(schemas): zod type guards of sign-in experience jsonb fields (#473)
* feat(schemas): guard branding logo url and terms-of-use content url

* feat(schemas): guard branding logo url non-optional

* feat(schemas): guard branding colors and slogan nonempty

* chore(core,schemas): upgrade zod dependency version from 3.8.1 to 3.14.3

* feat(schemas): jsonb types guard hex color values

* feat(core): hex color regex
2022-03-31 14:19:12 +08:00
Darcy Ye
84f30fe04b
fix(core): fix did not mock request error which results in timeouts (#471) 2022-03-30 18:31:42 +08:00
Wang Sijie
10fc7e4205
feat(console): support icon in text-input (#458)
* feat(console): support icon in text-input

* feat(console): user search (#460)

* fix: inputValue empty

* fix: remove contional
2022-03-30 14:01:18 +08:00
Darcy Ye
c0337f502d
fix(core): fix wechat web response code and related UTs (#461) 2022-03-29 23:59:47 +08:00
IceHe.xyz
f260d2bb56
fix(core): error message interpolation (#465) 2022-03-29 21:47:12 +08:00
IceHe.xyz
14ac317358
refactor(core): make initConnectors check existing connectors in DB once (#451)
* refactor(core): make initConnectors check existing connectors in DB once

* refactor(core): remove unnecessary hasConnector
2022-03-25 15:55:51 +08:00
Darcy Ye
82d104a0d3
feat(core): add DELETE /users/:userId/identities/:connectorId (#437)
* feat(core): add DELETE /users/:userId/identities/:connectorId

* feat(core): add user query methods UT cases for better testing coverage

* feat(core): rewrite deletion of connector info from user identities using postgresql operator
2022-03-25 15:48:53 +08:00
IceHe.xyz
2ee88d19ee
refactor(core): make getConnectorInstances access DB only once (#429)
* refactor(core): make getConnectorInstances access DB only once

* test(core): make getConnectorInstances access DB only once

* refactor(core): getConnectorInstanceByType merge .filter into .find for running in one loop
2022-03-25 14:45:34 +08:00
IceHe.xyz
28625f6894
feat(core): order connectors by enabled desc, id asc (#430) 2022-03-25 12:26:42 +08:00
IceHe.xyz
04ba181a64
fix(core): missing some commits (#444) 2022-03-23 18:54:26 +08:00
IceHe.xyz
d9670fd709
refactor(core): get sign-in experience (#426)
* feat(core): getEnabledSocialConnectorIds

* test(core): getEnabledSocialConnectorIds

* refactor(core): get sign-in experience

* test(core): get sign-in experience
2022-03-23 12:44:48 +08:00
Darcy Ye
2e08ec9db0
fix(core): fix response code for requesting wechat APIs (#422) 2022-03-22 09:41:25 +08:00
Charles Zhao
f256c2c38c
feat(core): copy markdown files to build folder when building project 2022-03-21 14:27:44 +08:00
Wang Sijie
c4a0299b1c
feat(console): user details settings (#403) 2022-03-21 11:48:27 +08:00
Darcy Ye
fa757c3d12
feat(core): add wechat-web connector (#394)
* feat(core): add WeChat connector as well as corresponding UTs

* feat(core): move TODO from comment block
2022-03-18 17:39:20 +08:00
IceHe.xyz
c3d447b081
test(core): connectors (#413) 2022-03-18 15:42:03 +08:00
IceHe.xyz
8dd05f776f
chore(core): fix connector typos (#411) 2022-03-17 23:01:15 +08:00
Gao Sun
bfc8a64c44
refactor(console): add dev origin to allowed CORS domain in OIDC (#397) 2022-03-16 16:35:45 +08:00
IceHe.xyz
b288e8eb6c
refactor(core): rename sign-in-experience api paths from sign-in-ex to sign-in-exp (#392) 2022-03-16 15:25:26 +08:00
IceHe.xyz
9f3fc5a5cc
feat(schemas): sign-in-experiences (#361)
* chore(schemas): remove useless table sign_in_methods

* feat(schemas): sign-in-experiences

* chore(core): update mock.ts and sign-in-experience.test.ts about sign-in-experiences schema

* chore(core): fix typo in test
2022-03-15 16:46:23 +08:00
Gao Sun
b9dab8a9da
fix(console): connect sign in with core 2022-03-15 13:46:50 +08:00
Wang Sijie
6640c0c18d
feat(console): markdown component (#378) 2022-03-15 11:31:50 +08:00
Darcy Ye
f2bfc30ef9
feat(core): fix connector route tests (#377) 2022-03-14 14:06:34 +08:00
Darcy Ye
cde61b77b1
feat(core): add README.md for connectors (#362)
* feat(core): add README.md for connectors

* feat(core): add README.md files' existence check

* feat(core): fix path of README.md
2022-03-14 11:17:24 +08:00
Xiao Yijun
043b20a05a
feat(console): connector sender test (#367) 2022-03-14 11:11:37 +08:00
Darcy Ye
9ed146645b
revert(core): manually revert forgot password logic (#365)
* Revert "feat(core): add email forgot password flow (send/verify passcode) (#336)"

* Revert "feat(core): post /session/forgot-password/phone/verify-passcode-and-reset-password (#334)"

* Revert "feat(core): add forgot password send a passcode to phone route (#326)"
2022-03-11 17:45:42 +08:00
Gao Sun
38df1ec8f4
chore: upgrade packages 2022-03-11 16:30:22 +08:00
IceHe.xyz
4eb2c6ca42
feat(core): findAllApplications order by createdAt desc (#344)
* feat(core): find many data order by

* test(core): find many data order by

* feat(core): findAllApplications order by createdAt desc

* test(core): findAllApplications order by createdAt desc
2022-03-10 15:50:05 +08:00
Wang Sijie
223b8a2444
feat(console): connector config (#358)
* feat(console): connector config

* fix(console): page layout issues

* feat(console): saved toast

* fix: style lint

Co-authored-by: Charles Zhao <charleszhao@silverhand.io>
2022-03-10 06:47:32 +00:00
Darcy Ye
811fe39852
feat(core): add email forgot password flow (send/verify passcode) (#336)
* feat(core): add email forgot password flow (send/verify passcode)

* feat(core): reset password once passcode verification succeed

* feat(core): remove username+password existence check

* feat(core): fix phone not exist error code
2022-03-10 14:15:20 +08:00
Darcy Ye
67aad46a2c
test(core): add UTs for connector route (#357) 2022-03-10 11:54:33 +08:00
Darcy Ye
9e677ca97a
feat(core): post /session/forgot-password/phone/verify-passcode-and-reset-password (#334)
* feat(core): add post /session/forgot-password/phone/verify-passcode and UT

* feat(core): reset password once passcode verification succeed
2022-03-08 16:09:06 +08:00
Gao Sun
1399c9258e
chore: upgrade configs (#339) 2022-03-08 15:58:55 +08:00
Wang Sijie
4cc45696a8
feat(core): only allow one enabled sms/email (#337) 2022-03-08 15:57:57 +08:00
IceHe.xyz
31779e0a3d
feat(core): facebook connector (#321)
* feat(core): facebook connector

* test(core): facebook connector
2022-03-08 12:39:55 +08:00
Wang Sijie
387ee50684
feat(console): init connectors (#332) 2022-03-08 11:10:46 +08:00
IceHe.xyz
fc113fba99
refactor(core): simplify check-and-throw-ConnectorError with assertThat (#333) 2022-03-07 16:08:05 +08:00
Darcy Ye
b14c30beca
feat(core): add forgot password send a passcode to phone route (#326)
* feat(core): add forgot password send a passcode to phone route

* feat(core): add UT for forget password send passcode to phone flow
2022-03-07 15:10:36 +08:00
Wang Sijie
12769e277b
feat(console): init connector page (#331) 2022-03-07 13:58:07 +08:00
IceHe.xyz
607a5344c2
chore(core): add TODO comments for adding the real connector logo URL (#330) 2022-03-07 13:49:57 +08:00
IceHe.xyz
c42b2a5a67
refactor(core): remove unnecessary check in github and aliyun-sms connector (#329) 2022-03-07 13:41:28 +08:00
IceHe.xyz
3dd7d496ef
test(core): fix typos in connectors/*/index.test.ts (#328) 2022-03-07 12:01:24 +08:00
Gao Sun
bb1d3c0a37
feat(console): retrieve applications from api (#320)
* feat(console): retrieve applications from api

* fix(console): i18n key

* fix(console): update per review
2022-03-04 17:26:34 +08:00
Gao Sun
9e0f60ebc8
fix(console): set base url when needed (#312)
* fix(console): set base url when needed

* fix(console): replace `a` with `Link`

* refactor(console): update var name
2022-03-03 15:44:42 +08:00
Gao Sun
365c63b2c7
feat(core): connect console (#306)
* feat(core): connect console

* fix(core): prod spa dist

* fix(core): test

* test(core): refactor spa proxy tests
2022-03-03 14:25:32 +08:00
Darcy Ye
5734333dea
test(core): add UT for aliyun sms (#305)
* test(core): add UT for aliyun sms

* test(core): define some params as top-level consts
2022-03-02 16:50:26 +08:00
Xiao Yijun
8ae42e9666
feat(core): google connector (#300) 2022-03-02 16:26:07 +08:00
Xiao Yijun
dcd84086f6
refactor(core): slonik error handling (#307) 2022-03-02 15:44:57 +08:00
Darcy Ye
16396cf231
test(core): add UTs for session routes (#299)
* test(core): add email not exists check to sign-in email code verification

* test(core): add remaining UTs except for /session/consent

* test(core): fix username validity check according to new username rules

* test(core): remove UT for /session/consent as an individual PR

* test(core): fix error code 500
2022-03-02 14:16:09 +08:00
IceHe.xyz
c5a9eef852
chore(core): fix typos (#303)
* chore(core): fix typos in routes/session.ts

* chore(core): fix typos in utils/password.ts

* chore(core): fix Connector typos

* chore(core): fix typos in connectors/utilities/aliyun.ts

* chore(core): fix 'custom' typos in database/update-where.test.ts

* chore(core): fix typos in middleware/koa-oidc-error-handler.ts
2022-03-02 12:24:07 +08:00
Wang Sijie
ba2b499637
test(core): session consent (#304) 2022-03-02 11:24:15 +08:00
Wang Sijie
4d7ea642a0
refactor(core): session tests (#302) 2022-03-01 17:03:41 +08:00
simeng-li
b03a666fde
ci(core): add codecov github action (#297)
* ci(core): add codecov github action

add codecov github action

* ci(core): update codecov uploader

update codecov uoloader

* ci(core): delete useless codecov yml

delete codecov yml

* chore(core): remove deprecated packages

remove deprecated pacakages
2022-03-01 11:05:25 +08:00
Wang Sijie
7af6973079
test(core): aliyun-dm (#295) 2022-03-01 11:04:20 +08:00
Gao Sun
f7925d9332
chore: upgrade configs and eslint (#294)
* chore: upgrade configs and eslint

* chore: update lockfile

* fix(ui): stylelint
2022-02-28 15:21:48 +08:00
simeng-li
fb6a1dc236
test(core): add ut for queires (#287)
* test(core): add ut for queires

add ut for queries

* test(core): add user query ut

add user query ut

* fix(core): remove test code

remove console log
2022-02-28 14:30:27 +08:00
Wang Sijie
c9400d0a4d
test(core): github and connector utilities (#291) 2022-02-28 06:27:45 +00:00
Xiao Yijun
3a583e81e4
fix(core): patch /users/:userId should not fail if only name or avatar is provided 2022-02-28 13:18:17 +08:00
Xiao Yijun
755176e252
refactor(core): add regex for commonly used fields (#288) 2022-02-28 13:16:02 +08:00
Xiao Yijun
76aba43ae3
refactor(core): replace arbitrary data guard type with arbitrary object guard (#290) 2022-02-28 11:22:48 +08:00
Wang Sijie
94e583111d
test: session route (#283) 2022-02-25 07:09:20 +00:00
Darcy Ye
ddd695dd33
feat(core): enable pass redirectUri when sign-in with social (#284) 2022-02-25 14:52:38 +08:00
simeng-li
2109b7be31
test(core): add ut for application query (#282)
add ut for appliction query
2022-02-25 13:52:29 +08:00
Darcy Ye
5fa6e2b280
chore(core): username/phone/email validity checks to koaGuard middleware (in /session routes) (#285)
* feat(core): all username/phone/email validity checks are put in koaGuard middleware

* feat(core): remove unnecessary comments

* feat(core): unwrap unnecessary methods
2022-02-25 10:50:50 +08:00
Darcy Ye
bd6dc4261c
feat(core): get /session/register/:username/existence (#275)
* feat(core): add username existence check when resgitering

* feat(core): add username existence check

* feat(core): update username guard to avoid empty strings
2022-02-24 18:30:34 +08:00
Darcy Ye
75d2bb3e9b
feat(core): separate passwordless flow routes (#280)
* feat(core): separate passwordless flow routes

* feat(core): rename routes

* feat(core): wrap frequently called methods and rerank log assignment order

* feat(core): rerank log assignment order
2022-02-24 18:21:59 +08:00
Xiao Yijun
861833c01a
refactor(core): add prefix for password_encryption_method (#281) 2022-02-24 18:01:17 +08:00
Xiao Yijun
4144051cad
test(core): add ut for admin-user (#279) 2022-02-24 17:59:08 +08:00
Xiao Yijun
e63ca4c06f
feat(core): get /users with search (#270) 2022-02-24 12:29:34 +08:00
Darcy Ye
89a185c845
chore(core): refactor sign-in routes (#273)
* chore(core): refactor sign-in routes

* feat(core): fix order of userLog assignments
2022-02-24 11:58:52 +08:00
Wang Sijie
be916b274c
test(session): test setup for session route (#276) 2022-02-23 17:23:21 +08:00
Wang Sijie
c033c5e4ec
chore: rename route for bind and sign in (#277) 2022-02-23 16:17:42 +08:00
Darcy Ye
fe0ece4e49
chore(core): hide settings default id (#261)
* chore(core): hide settings default id

* chore(core): fix patch /settings UT
2022-02-23 13:51:02 +08:00
simeng-li
d2b8aa9355
test(core): update the requester test utils (#274)
update the requester test utils
2022-02-23 11:09:26 +08:00
simeng-li
279318780e
test(oidc): add oidc adapter test case (#266)
add oidc adapter test case
2022-02-23 09:42:29 +08:00
simeng-li
4a80773b2d
feat(core): add koa user role guard middleware (#255)
* feat(core): add koa user role guard middleware

add user role guard middleware

* fix(core): resolve cr comments

remove getUserInfo

* fix(cr): cr fix

cr fix
2022-02-23 09:41:55 +08:00
Darcy Ye
ab4beadd70
chore(core): refactor register codes (#271)
* chore(core): refactor register routes

* chore(core): remove unnecessary lib/register

* chore(core): fix
2022-02-22 22:12:38 +08:00
Gao Sun
b31e90dab2
refactor(core): use custom koa-router types (#267) 2022-02-22 08:33:55 +00:00
Wang Sijie
9ffe12ad0d
chore: make connectorInstance.connector non-nullable (#268) 2022-02-22 16:01:47 +08:00
Wang Sijie
bdee44a6b9
feat: continue to register with social (#249)
* feat: continue to register with social

* feat: bind social account (#259)

* feat: continue to register with social

* feat: bind social account

* feat: find social related user and sign in (#258)
2022-02-22 08:01:32 +00:00
simeng-li
d58b29f4a9
test(core): add ut for core routers (#262)
add ut for core router
2022-02-21 16:42:48 +08:00
simeng-li
7488bc7e17
test(core): add ut for util methods (#264)
add ut for util methods
2022-02-21 16:42:17 +08:00
simeng-li
8fa169cba1
test(core): add admin-user route UT (#252)
* test(core): add admin-user route ut

add admin-user route ut

* fix(ut): remove redundent code

remove mockKoaAuthMiddleware

* feat(core): update pnpm.lock

update pnpm.lock
2022-02-21 10:45:31 +08:00
Gao Sun
47ccb4da02
refactor(ui): integrate new ui (#260) 2022-02-20 14:12:07 +08:00
Xiao Yijun
5731d7389d
refactor(core): remove user route (#254) 2022-02-18 17:56:44 +08:00
Xiao Yijun
9e30b41028
feat(core): delete user and update user password api (#248) 2022-02-18 17:02:08 +08:00
simeng-li
9c3f017704
test(core): add more middleware tests [2 of 2] (#247)
* test(core): add more middleware tests

add more middleware tests

* fix(ut): fix koaUserInfo ut

fix koaUserInfo ut

* fix(ut): fix ut

fix ut

* fix(ut): revert chagnes

revert changes

* fix(ut): fix ut fail after schema update bug

fix ut fail after schema update bug
2022-02-18 16:25:32 +08:00
Xiao Yijun
77b520deba
feat(core): patch /users/:userId (#246) 2022-02-18 14:34:22 +08:00
Darcy Ye
c99c6b55aa
feat(core): separate sessionRoutes by flow types (#235)
* feat(core): separate sessionRoute by use cases as well as flow types

* feat(core): fix API calls in UI accordingly

* feat(core): fix lint errors
2022-02-18 12:31:15 +08:00
simeng-li
c8d45a13f0
test(core): add middleware tests [1 of 2] (#244)
* test(core): add middleware tests

add middleware tests

* fix(ut): fix typo

fix typo
2022-02-17 14:21:29 +08:00
Xiao Yijun
c1c356c30a
feat(core): delete users/:userid/custom-data (#233) 2022-02-17 14:10:26 +08:00
Wang Sijie
46dd8f3b69
chore: connector error (#242) 2022-02-17 11:09:27 +08:00
Gao Sun
13f6b59ad4
chore: upgrade configs (#243) 2022-02-16 19:06:58 +08:00
Xiao Yijun
d69bbeebb2
feat(core): patch /user/:userId/custom-data (#232) 2022-02-16 18:06:08 +08:00
Xiao Yijun
56c9f00440
feat(core): post /users (#238) 2022-02-16 16:34:32 +08:00
Xiao Yijun
dd55c66644
feat(core): get (#236) 2022-02-16 15:56:51 +08:00
Xiao Yijun
ee49880845
feat(core): get /users (#237) 2022-02-16 15:55:08 +08:00
Gao Sun
eb319a3b89
refactor: upgrade TypeScript (#241) 2022-02-16 15:17:43 +08:00
Wang Sijie
e206dfcecb
fix: connector_id_mismatch and mergeWithLastSubmission (#240) 2022-02-16 14:43:01 +08:00
simeng-li
080bee6935
test(i18n): add detectLanguage util test (#231)
add detectLanguage util test
2022-02-16 10:26:16 +08:00
simeng-li
af89e9ac30
test(core): add ut for app (#227)
* test(core): add ut for app

add ut for app

* fix(jest): remove jest setup

remove jest setup

* fix(ut): mock env viriables

mock env viriables

* refactor(ut): add env variable test utils

add env variable test util

* fix(core): fix rebase issue

fix rebase issue

* fix(ut): update app ut

update app ut

* fix(core): remove supertest dependency

remove supertest

* fix(ut): cr fix

cr fix
2022-02-15 18:36:57 +08:00
simeng-li
108705076f
test(ut): add error type ut (#229)
add error type ut
2022-02-15 18:11:23 +08:00
Wang Sijie
34e540d3ed
feat: continue social sign in (#223)
* feat: social sign in

* feat: social register

* feat: continue social sign in
2022-02-15 17:40:47 +08:00
Xiao Yijun
e8cbe00d3a
feat(core): add custom_data to the user schema (#230) 2022-02-15 16:59:28 +08:00
simeng-li
86ce5a9640
fix(core): align resource_identifier namespace with OIDC provider (#224)
* fix(core): align resource_identifier namespace with OIDC provider

replace resource identifier name with resource_indicator
align the usage with OIDC Provider

* fix(cr): cr fix

add empty line
2022-02-15 16:13:41 +08:00
simeng-li
4325007398
refactor(core): throw error on pagination middleware (#228)
throw internal error if no totalCount returned
2022-02-15 10:58:21 +08:00
Wang Sijie
a9b5dd6cbd
feat: update social info on sign in (#225) 2022-02-14 16:11:42 +08:00
Wang Sijie
e8c2b100a3
feat: set profiles from social connector (#226) 2022-02-14 16:03:13 +08:00
simeng-li
cdcadb968f
refactor(core): refactor error handler logic (#220)
* refactor(core): refactor error handler logic

add oidc and slonik custom error handler

* fix(core): fix typo

fix type

* refactor: align core errors

align some old core error definitions
2022-02-14 11:50:47 +08:00
Wang Sijie
78cc86ec77
feat: social register (#222) 2022-02-14 03:11:34 +00:00
Darcy Ye
8249493c40
feat(core): add passwordless register flow of phone (#221)
* feat(phone passwordless): add passwordless register flow of phone

* feat(phone passwordless): add userId to both sign-in and register user logs

* feat(phone passwordless): add register error descriptions

* feat(core): update error descriptions and leave redundancy error descriptions for later changes
2022-02-14 10:44:46 +08:00
Wang Sijie
66808d6d02
feat: social sign in (#218) 2022-02-11 07:19:18 +00:00
Darcy Ye
750ef0c3bf
feat(phone passwordless): add passwordless sign-in with phone (#217)
* feat(phone passwordless): add passwordless sign-in with phone

* feat(phone passwordless): rename phoneReg
2022-02-09 16:14:42 +08:00
Wang Sijie
e7458f8a2b
feat(schema): user identities (#215) 2022-02-09 12:55:06 +08:00
Wang Sijie
77ca86cac6
feat(core): register with email (#212) 2022-02-08 20:15:36 +08:00
simeng-li
a5c9bf61d7
refactor(core): add OIDCRequestError (#214)
* refactor(core): add OIDCRequestError

inplement OIDCRequestError to normalize OIDCProviderError

* fix(coer): cr fix

code review update
2022-02-08 15:31:16 +08:00
simeng-li
eac74fae40
fix(core): hard code resource access_token format (#216) 2022-02-08 14:06:13 +08:00
Wang Sijie
fd1810592b
feat(core): check email exist before sending code (#211) 2022-02-07 06:14:42 +00:00
simeng-li
3d550b74dd
feat(core): allow jsonb partial update (#210)
* refactor(core): allow jsonb partial update

allow jsonb partial update

* fix(core): add comments

add comments

* fix(core): add non-nullable case

add non-nullable case assertation

* fix(core): use coalesce

use coalesce

* test(core): add ut

add ut
`
2022-02-04 12:19:59 +08:00
Wang Sijie
d14f1a8841
feat(core): sign in with email (#209)
* feat(core): sign in with email

* fix: jti comment

* refactor: move sign in methods into lib
2022-01-31 11:04:55 +08:00
Wang Sijie
3cb1cae486
fix(aliyun): skip undefined fields (#208) 2022-01-29 17:11:57 +08:00
Darcy Ye
30ce91810f
feat(aliyun sms connector): add aliyun sms connector (#203)
* chore(SMS connector): add SMS connector and UT

* feat(Aliyun SMS): remove redundancy

* chore(Aliyun SMS connector): merge duplicates and fix accordingly
2022-01-29 16:48:34 +08:00
Wang Sijie
ffeabbedcf
fix(passcode): use interaction_jti instead of session_id (#207) 2022-01-29 15:30:50 +08:00
Wang Sijie
2b55c85b5a
fix(aliyun-dm): validate config before sending (#206) 2022-01-29 14:55:42 +08:00
Wang Sijie
ddb9968c98
feat: verifyPasscode (#201)
* fix: consume

* feat: sendPasscode

* feat: verifyPasscode
2022-01-29 14:02:54 +08:00
Wang Sijie
02491adb5d
feat: sendPasscode (#200)
* fix: consume

* feat: sendPasscode
2022-01-28 07:39:38 +00:00
simeng-li
0105d19d99
feat(core): add user roles related api (#204)
* feat(core): add user role related api

add user roles related api

* fix: insert array to db fix

insert array to db fix

* feat(core): add role related routes config

add role related routes config

* fix(core): update user role patch error type

update user role patch error type

* fix(core): cr fix

cr fix

* fix(core): cr fix
cr fix

* fix(core): cr fix
 cr fix
2022-01-28 13:33:57 +08:00
Wang Sijie
ea2bfd6d45
feat(core): createPasscode (#199)
* feat: createPasscode

* test: passcode UT

* fix: consume

* fix: multiple unconsumed passcodes

* fix: pr

* fix: lint
2022-01-28 11:04:38 +08:00
Charles Zhao
f30cae7377
chore: upgrade eslint-config to v0.6.1 2022-01-27 19:26:34 +08:00
simeng-li
9f23dbbb2a
feat(schema): add roles table (#202)
* feat(schema): add roles table

add roles table

* fix(chema): ci fix

ci fix

* fix(cr): cr fix

- rename userRoles to roleNames
- rename role table colmn name

* fix(ut): fix ut

fix ut
2022-01-27 10:48:55 +08:00
Wang Sijie
5c428efa78
feat: user register (#196) 2022-01-26 13:21:45 +08:00
simeng-li
37f2bab9c0
feat(core): add sign-in experience query and api (#197)
* feat(core): add sign-in experience query and api

add sign-in experience query and api

* fix(core): cr update of sign-in-experience apis

- remove unused queries
- replace hardcoded 'default' id filtering, use pool.one method instead
2022-01-26 11:07:45 +08:00
Darcy Ye
871789e763
chore: align routers return process of updating DB (#193)
* chore: align routers return process of updating DB

* chore: align connector router output
2022-01-25 13:47:12 +08:00
Wang Sijie
67843f45db
fix(database): insertKeys filtering (#194)
* fix(database): insertKeys filtering

* fix: tests
2022-01-25 13:34:20 +08:00
Wang Sijie
7d182e2b46
fix: initConnector use hasConnector (#195) 2022-01-25 11:32:05 +08:00
Darcy Ye
9dc0ea32c0
feat(connector): connector queries and APIs (#178)
* feat(connector): connector queries and APIs

* chore(connectors): remove type from DB schema design and fix code accordingly

* chore(connectors): put connector as ConnectorInstance's property

* chore(connector): put connector as optional property of ConnectorInstance
2022-01-24 14:40:15 +08:00
simeng-li
93df7db2ca
refactor(core): enable userinfo endpoint and resource scope consent (#187)
* refactor(core): enable userinfo endpoint and resource scope consent

enable userinfo endpoint and resource scope consent

* fix(core): cr fix add comment

add comment for useGrantedResource settigns reference
2022-01-24 10:13:18 +08:00
Wang Sijie
d78aa07f7e
feat(github): getUserInfo (#188)
* feat(github): getUserInfo

* fix: pr
2022-01-21 12:47:14 +00:00
Wang Sijie
872b1d6450
feat(github): validateConfig (#189) 2022-01-21 20:37:12 +08:00
Wang Sijie
aaa6f4dcc2
feat(github): getAccessToken (#186)
* feat(github): getAccessToken

* fix: pr
2022-01-21 07:26:14 +00:00
Wang Sijie
ea756752e8
feat(github): getAuthorizeUri (#185)
* feat(github): getAuthorizeUri

* fix: authorizationEndpoint
2022-01-21 13:50:40 +08:00
Wang Sijie
81aaa4a083
feat(aliyun-dm): test message template (#183)
* feat(aliyun-dm): test message template

* fix: remove test template
2022-01-20 15:34:46 +08:00
Wang Sijie
764de712d7
feat(aliyun-dm): validate config (#184)
* feat(aliyun-dm): validate config

* fix: use zod
2022-01-20 10:54:04 +08:00
simeng-li
99f85ca44c
refactor(schema): rename schema (#182)
* refactor(schema): rename schema

rename schema update to create
rename guard to createGuard

* fix(core): ci fix

fix ci errors

* refactor(schema): rename schema type FooCreate to CreateFoo

rename schema type from FooCreate to CreateFoo

* fix(schema): add guard nullable

add guard nullable gen method
2022-01-18 12:44:08 +08:00
simeng-li
d88db54961
feat(core): add resource apis (#180)
* feat(core): add resource apis

add resource apis

* fix(core): resources api CR fix

CR fix of resoruces API

* fix(core): resource api cr fix

remove unnesessary input params destructor
2022-01-18 09:20:49 +08:00
Wang Sijie
49581d924e
feat: aliyun direct mail connector (#175)
* feat: aliyun direct mail

* fix: email

* fix: pr fix

* refactor: use got instead of axios

* refactor: move aliyun to utilities

* fix: pr

* fix: pr

* fix: pr
2022-01-17 13:49:29 +08:00
Wang Sijie
a77149bb8b
feat: connector i18n (#171)
* feat: connector i18n

* fix: language key
2022-01-17 02:58:45 +00:00
simeng-li
492724a575
refactor(core): resources related db query cleanup (#179)
* refactor(core): resources related db query cleanup

clean resourece & scopes db queries

* refactor(core): rename resources and scopes query file name

rename plural filename
2022-01-14 11:54:09 +08:00
simeng-li
86c68739e6
refactor(errors): introduce Slonik Deletion Error (#177)
replase all deletion query RequeestError with DeletionError extends SlonikError
2022-01-14 10:19:43 +08:00
Darcy Ye
dfaf79bc5f
feat(settings): add settings related queries and apis (#174)
* feat(settings): add settings related queries and APIs

* feat: correct setting router type

* chore: hide settingId from response

* chore: reset default settingId for better readability

* chore: fix input params check
2022-01-13 20:05:14 +08:00
simeng-li
f218667ba4
feat(application): add application query exceptions (#172)
* feat(application): add application query exceptions

add application query exceptions

* fix(core): cr fix remove query level exception

remove application query level exception handle logic

* fix(core): delete application query throw slonikError

delete application query throw slonikError
2022-01-13 16:02:28 +08:00
simeng-li
77be675bfb
feat(application): set idToken and refreshToken ttl based on client metadata (#176)
* feat(application): set idtoken and refresh token ttl based on client metadata

add idToken and refreshToken ttl metadata

* fix(application): cr fix

cr fix add default constant & set custom client metadata not null
2022-01-13 14:15:13 +08:00
Wang Sijie
59cd617b2b
feat: updateConnectorConfig (#168)
* feat: updateConnectorConfig

* fix: throw RequestError

* feat: template
2022-01-12 08:58:07 +00:00
Darcy Ye
6e9cabe50b
chore: rename all \w+DBEntry as \w+Update to eliminate understanding (#173) 2022-01-12 16:22:33 +08:00
simeng-li
3690265122
feat(applications): add pagination middleware to findAllApplications (#170)
* feat(applications): add pagination middleware to findAllApllications

add pagination middleware to findAllApllications

* fix(core): remove get applications offset check

remove get applications offset check. use db query error

* fix(application): cr fix use buildFindMany

use buildFindMany for paginated find applications query
2022-01-11 08:37:09 +00:00
Wang Sijie
c37354d42d
feat: init connectors (#166)
* feat: init connectors

* chore: optional in getConnectorById

Co-authored-by: Gao Sun <gao@silverhand.io>

* chore: pr fix

* chore: pr fix

* chore: fix PR

Co-authored-by: Gao Sun <gao@silverhand.io>
2022-01-11 16:26:54 +08:00
simeng-li
b9f9847ec0
feat(schema): update application db (#169)
* feat(schema): update appliaction db

update application db

* ci(schema): cr fix application table schema typo

fix application table schema typo
2022-01-11 11:58:58 +08:00
simeng-li
aafc258ad9
ci(codecov): add jest coverage report (#167)
* ci(codecov): add jest coverage report

add coverage report on core and ui project
add codecov uploader job

* ci: add report upload github workflow action

add report upload github workflow action

* ci: fix ci replace github test actions with test:report

 fix ci replace github test actions with test:report
2022-01-10 10:04:00 +08:00
Wang Sijie
e8908c3b24
feat: buildFindMany (#159) 2022-01-07 14:54:32 +08:00
IceHe.xyz
a66abbc251
Revert "chore: update silverhand/configs dependency and fix the scope of eslint-disable rule (#157)" (#162)
This reverts commit 7ff8550845.
2021-12-29 03:56:55 +00:00
Darcy Ye
7ff8550845
chore: update silverhand/configs dependency and fix the scope of eslint-disable rule (#157)
* chore: fix the scope of eslint-disable rule

* chore: update silverhand/configs to v0.5.0 and fix linting error accordingly

* chore: fix linting error
2021-12-29 11:05:06 +08:00
Darcy Ye
dd7a385363
chore: update dependency of ESLint to version 8.1.0 or later (#155)
* chore: update eslint version to 8.1.0

* chore: update silverhand configs dependency

* chore: update silverhand configs dependency and fix code block according to linting rules
2021-12-20 14:20:23 +08:00
Wang Sijie
1fc73030e8
feat(core): sign in logs (#139)
* fix(core): add log result type

* fix: comments in sql

* feat(core): sign in log

* refactor: insert error log in middleware

* fix: pr fix

* feat: userLog middleware

* refactor: auto capture log

* fix: pr fix

* fix: pr fix
2021-12-08 15:56:57 +08:00
Wang Sijie
7ce706ccbe
feat: generate 2 types for db table schema (#154)
* feat(schema): generate Model and DBEntry

* feat: generate 2 types for db table
2021-12-08 11:11:27 +08:00
Xiao Yijun
b133b30b90
refactor(core): rename context to ctx in test file (#153) 2021-12-07 10:48:58 +08:00
Xiao Yijun
f672f34b5c
refactor: disable eslint rule for entire describe in koa-pagination.test.ts (#152) 2021-12-06 17:41:30 +08:00
Xiao Yijun
bb04df5a09
refactor(core): replace querystring with query-string (#151) 2021-12-06 17:32:31 +08:00
Xiao Yijun
e63e5bae4e
feat(core): support trusting TLS offloading proxies config 2021-12-03 14:04:30 +08:00
simeng-li
a56d4ce026
feat: implement getResourceIndicators logic (#146)
* fix(schema): fix typo remove trailing comma

fix typo remove trailing comma

* feat(core): add resouce server query logic

add resource server & scopes query logic to oidc-provider resourceIndicator feature config

* fix(chore): scope should join with scopes.name

fix scope name join format bug

* fix(core): cr fix use pool.any replace pool.many

use pool.any replace pool.many
2021-12-02 14:08:15 +08:00
simeng-li
6d5dd55e12
refactor: implement koaUser middleware
* refactor: extract code block of getting detailed user info in koaAuth as middleware koaUser

* refactor: fix according to comments

* refactor: fix methods' and properties' naming
2021-12-02 11:43:04 +08:00
simeng-li
18a142ab65
feat(schema): add resource and scope table (#145)
* feat(schema): add resource and scope table

implement resource-servers and resource-scopes table with some basic queries

* fix(schema): remove scope update querie

not allowed to update scope once created

* feat(schema): add resourceId foreign key to the scope table

add resourceId foreign key to the scope table

* fix(schema): remove trailling comma

remove trailling comma

* fix(schema): cr fix replace resource-servers table name using resources

replace resource-servers table name using resources
2021-12-01 11:41:16 +08:00
Wang Sijie
838ae3fad9
feat: add koa-pagination (#143)
* feat: add koa-pagination

* fix: pr fix
2021-11-30 11:06:50 +08:00
Xiao Yijun
a234f00269
chore(core): fix comment mistake 2021-11-19 16:04:40 +08:00
Wang Sijie
3480d05366
refactor(core): encryptUserPassword (#135) 2021-11-18 16:29:24 +08:00
Wang Sijie
7d7b8112f6
refactor(core): use plural in endpoint (#134) 2021-11-18 11:26:51 +08:00
Wang Sijie
9c3b67ae46
feat(core): users basic API (#133) 2021-11-18 11:26:34 +08:00
simeng-li
6d5b9e5bcc
chore(chore): bump oidc-provider version (#132)
bump oidc-provider version to 7.10.0 to remove the 16.+ node warnings
2021-11-15 11:02:24 +08:00