You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| `OIDC_ENABLED` | Controls wether OIDC is enabled or not | :white_check_mark: |
117
+
| `OIDC_ISSUER_URL` | Url to the Issuer. Gets used to retrieve the required Metadata using the .well-known endpoint | :white_check_mark: |
118
+
| `OIDC_CLIENT_ID` | Client ID used to authenticate against | :white_check_mark: |
119
+
| `OIDC_CLIENT_SECRET` | Client Secret for the supplied client | :white_check_mark: |
120
+
| `SERVER_URL` | Domain where the server is deployed. Used for redirection after the OIDC flow is compleated | :white_check_mark: |
121
+
| `SIGNUP_ENABLED` | Controls wether users can create an account using the signup provided by RoomMates. OIDC accounds will always be created | :x: |
122
+
| `OIDC_SCOPES` | Scopes the application has access to. Note that the application needs at least the email as well as the given and family name Defaults to `email profile openid` | :x: |
123
+
| `OIDC_PROVIDE_NAME` | The name of the provider displayed in the login form. Defauls to SSO | :x: |
124
+
| `OIDC_JWKS_REFRESH_INTERVALL` | Intervall in secounds when to reload the jwks used to validate auth tokens. | :x: |
125
+
| `OIDC_AUDIENCE` | Comma seperated list of audiences (e.g. `account,app`) | :x: |
126
+
103
127
### Clients
104
128
105
-
Bundling the following targets have been tested. While bundling untested targets may work, there is a chance they require additional configuration.
129
+
Bundling the following targets have been tested. While bundling untested targets may work, there is a chance they
130
+
require additional configuration.
131
+
106
132
- [X] Web
107
133
- [X] Linux
108
134
- [ ] Windows
109
135
- [ ] macOS
110
136
- [X] Android
111
137
- [ ] iOS
112
138
113
-
114
139
To bundle clients for production, install the [required tools](#tools-and-dependencies) or use the devcontainer.
115
140
Then choose the platform you want to bundle and optionally
116
141
the [package type](https://dioxuslabs.com/learn/0.7/tutorial/bundle#bundling-for-desktop-and-mobile).
@@ -119,25 +144,27 @@ Run the following command in the root of the project[^1]:
119
144
> `SERVER_URL` should be the URL of your deployed server. Defaults to `http://localhost:8080`.
120
145
121
146
> [!TIP]
122
-
> You can also bundle the server this way, if you don't want to use docker. In this case set `PLATFORM` to web. You can omit `SERVER_URL` as it is not needed for the web platform.
147
+
> You can also bundle the server this way, if you don't want to use docker. In this case set `PLATFORM` to web. You can
148
+
> omit `SERVER_URL` as it is not needed for the web platform.
123
149
124
150
```shell
125
151
make bundle PLATFORM=<platform> SERVER_URL="<your-server-url>" [PACKAGES="<package1> [<package2> ...]"]
126
152
```
153
+
127
154
#### Android
155
+
128
156
> [!IMPORTANT]
129
-
> This bundeling config assumes you have a valid keystore in `~/.android/keystore.jks`. You can override the keystore location by using the `KEYSTORE_PATH` argument when bundling.
157
+
> This bundling config assumes you have a valid keystore in `~/.android/keystore.jks`. You can override the keystore
158
+
> location by using the `KEYSTORE_PATH` argument when bundling.
130
159
> Refer to [the android docs](https://developer.android.com/studio/publish/app-signing) on how to create one
131
160
132
161
> [!NOTE]
133
162
> This creates a `.apk` file for sideloading. The `.aab` bundle created by dioxus does not include the app icon
134
163
135
-
136
164
```shell
137
165
make bundle PLATFORM=android SERVER_URL="<your-server-url>" KEYSTORE_PASSWORD="<your-keystore-password>"
138
166
```
139
167
140
-
141
168
### Tools and Dependencies
142
169
143
170
For bundling, refer to
@@ -203,11 +230,28 @@ make dev-server PLATFORM=desktop
|`traefik.roommates.local`| Traefik | Used to access `traefik` dashboard under `/dashboard`|
249
+
250
+
If you want to use OIDC in the development, you also need to create a User in the Keycloak. For this, open
251
+
`auth.roommates.local` and login using the username `admin` with password `password`.
252
+
Then click `Manage Realms > RoomMates`. Once you are in the RoomMates Realm navigate to `Users > Create new User`.
253
+
After entering an email, first name and last name, open the tab `Credentials` and set a password. Make sure to disable
254
+
`temporary`, otherwise you'll need to change it on first login.
211
255
212
256
### Dev Container
213
257
@@ -226,7 +270,12 @@ should already be installed in the devcontainer.
226
270
227
271
Test Disclaimer:
228
272
229
-
Some tests for basic and advanced database logic were done using unit tests. However later on, most tests were conducted by directly running and using the project, since a lot of the work was concerning the UI. Additionally most of the database operations are pretty similar, so in the interest of saving time, there was not a need to write individual tests for every one of them. The focus was on working directly with the interactive components of the project, seeing what worked and gaining concrete information about occurring errors through example data and debugging with developer tools.
273
+
Some tests for basic and advanced database logic were done using unit tests. However later on, most tests were conducted
274
+
by directly running and using the project, since a lot of the work was concerning the UI. Additionally most of the
275
+
database operations are pretty similar, so in the interest of saving time, there was not a need to write individual
276
+
tests for every one of them. The focus was on working directly with the interactive components of the project, seeing
277
+
what worked and gaining concrete information about occurring errors through example data and debugging with developer
278
+
tools.
230
279
231
280
To run the tests for the project, use the following command:
232
281
@@ -235,11 +284,13 @@ make tests
235
284
```
236
285
237
286
## Disclosure of AI Usage
238
-
AI was used for Tab-Completing and Debugging, never for generating whole sections of code without a human creating derivatives of said generated code.
287
+
288
+
AI was used for Tab-Completing and Debugging, never for generating whole sections of code without a human creating
0 commit comments