Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
This commit is contained in:
Jörn Friedrich Dreyer
2025-01-16 11:55:55 +01:00
parent fdcadb3f98
commit 8e3ddfa725
11 changed files with 23 additions and 23 deletions

View File

@@ -1,9 +1,9 @@
# IDP
This service provides a builtin minimal OpenID Connect provider based on [LibreGraph Connect (lico)](https://github.com/libregraph/lico) for ocis.
This service provides a builtin minimal OpenID Connect provider based on [LibreGraph Connect (lico)](https://github.com/libregraph/lico) for OpenCloud.
It is mainly targeted at smaller installations. For larger setups it is recommended to replace IDP with an external OpenID Connect Provider.
By default, it is configured to use the ocis IDM service as its LDAP backend for looking up and authenticating users. Other backends like an external LDAP server can be configured via a set of [enviroment variables](https://owncloud.dev/services/idp/configuration/#environment-variables).
By default, it is configured to use the OpenCloud IDM service as its LDAP backend for looking up and authenticating users. Other backends like an external LDAP server can be configured via a set of [enviroment variables](https://docs.opencloud.eu/services/idp/configuration/#environment-variables).
Note that translations provided by the IDP service are not maintained via ownCloud but part of the embedded [LibreGraph Connect Identifier](https://github.com/libregraph/lico/tree/master/identifier) package.
Note that translations provided by the IDP service are not maintained via OpenCloud but part of the embedded [LibreGraph Connect Identifier](https://github.com/libregraph/lico/tree/master/identifier) package.

View File

@@ -22,11 +22,11 @@ func GetCommands(cfg *config.Config) cli.Commands {
}
}
// Execute is the entry point for the ocis-idp command.
// Execute is the entry point for the opencloud-idp command.
func Execute(cfg *config.Config) error {
app := clihelper.DefaultApp(&cli.App{
Name: "idp",
Usage: "Serve IDP API for oCIS",
Usage: "Serve IDP API for OpenCloud",
Commands: GetCommands(cfg),
})

View File

@@ -49,7 +49,7 @@ type Ldap struct {
UUIDAttributeType string `yaml:"uuid_attribute_type" env:"IDP_LDAP_UUID_ATTRIBUTE_TYPE" desc:"LDAP User uuid attribute type like 'text'." introductionVersion:"pre5.0"`
UserEnabledAttribute string `yaml:"user_enabled_attribute" env:"OC_LDAP_USER_ENABLED_ATTRIBUTE;IDP_USER_ENABLED_ATTRIBUTE" desc:"LDAP Attribute to use as a flag telling if the user is enabled or disabled." introductionVersion:"pre5.0"`
Filter string `yaml:"filter" env:"OC_LDAP_USER_FILTER;IDP_LDAP_FILTER" desc:"LDAP filter to add to the default filters for user search like '(objectclass=ownCloud)'." introductionVersion:"pre5.0"`
Filter string `yaml:"filter" env:"OC_LDAP_USER_FILTER;IDP_LDAP_FILTER" desc:"LDAP filter to add to the default filters for user search like '(objectclass=OpenCloud)'." introductionVersion:"pre5.0"`
ObjectClass string `yaml:"objectclass" env:"OC_LDAP_USER_OBJECTCLASS;IDP_LDAP_OBJECTCLASS" desc:"LDAP User ObjectClass like 'inetOrgPerson'." introductionVersion:"pre5.0"`
}
@@ -87,7 +87,7 @@ type Settings struct {
TrustedProxy []string `yaml:"trusted_proxy"` //TODO: how to configure this via env?
AllowScope []string `yaml:"allow_scope"` // TODO: is this even needed?
AllowClientGuests bool `yaml:"allow_client_guests" env:"IDP_ALLOW_CLIENT_GUESTS" desc:"Allow guest clients to access oCIS." introductionVersion:"pre5.0"`
AllowClientGuests bool `yaml:"allow_client_guests" env:"IDP_ALLOW_CLIENT_GUESTS" desc:"Allow guest clients to access OpenCloud." introductionVersion:"pre5.0"`
AllowDynamicClientRegistration bool `yaml:"allow_dynamic_client_registration" env:"IDP_ALLOW_DYNAMIC_CLIENT_REGISTRATION" desc:"Allow dynamic client registration." introductionVersion:"pre5.0"`
EncryptionSecretFile string `yaml:"encrypt_secret_file" env:"IDP_ENCRYPTION_SECRET_FILE" desc:"Path to the encryption secret file, if unset, a new certificate will be autogenerated upon each restart, thus invalidating all existing sessions. If not defined, the root directory derives from $OC_BASE_DATA_PATH/idp." introductionVersion:"pre5.0"`

View File

@@ -74,7 +74,7 @@ func DefaultConfig() *config.Config {
Clients: []config.Client{
{
ID: "web",
Name: "ownCloud Web app",
Name: "OpenCloud Web app",
Trusted: true,
RedirectURIs: []string{
"{{OC_URL}}/",
@@ -88,7 +88,7 @@ func DefaultConfig() *config.Config {
{
ID: "xdXOt13JKxym1B1QcEncf2XDkLAexMBFwiT9j6EfhhHFJhs2KM9jbjTmf8JBXE69",
Secret: "UBntmLjC2yYCeHwsyj73Uwo9TAaecAetRwMw0xYcvNL9yRdLSUi0hUAHfvCHFeFh",
Name: "ownCloud desktop app",
Name: "OpenCloud desktop app",
ApplicationType: "native",
RedirectURIs: []string{
"http://127.0.0.1",
@@ -98,7 +98,7 @@ func DefaultConfig() *config.Config {
{
ID: "e4rAsNUSIUs0lF4nbv9FmCeUkTlV9GdgTLDH1b5uie7syb90SzEVrbN7HIpmWJeD",
Secret: "dInFYGV33xKzhbRmpqQltYNdfLdJIfJ9L5ISoKhNoT9qZftpdWSP71VrpGR9pmoD",
Name: "ownCloud Android app",
Name: "OpenCloud Android app",
ApplicationType: "native",
RedirectURIs: []string{
"oc://android.owncloud.com",
@@ -107,7 +107,7 @@ func DefaultConfig() *config.Config {
{
ID: "mxd5OQDk6es5LzOzRvidJNfXLUZS2oN3oUFeXPP8LpPrhx3UroJFduGEYIBOxkY1",
Secret: "KFeFWWEZO9TkisIQzR3fo7hfiMXlOpaqP8CFuTbSHzV1TUuGECglPxpiVKJfOXIx",
Name: "ownCloud iOS app",
Name: "OpenCloud iOS app",
ApplicationType: "native",
RedirectURIs: []string{
"oc://ios.owncloud.com",

View File

@@ -258,7 +258,7 @@ type IDP struct {
tp trace.TracerProvider
}
// initMux initializes the internal idp gorilla mux and mounts it in to an ocis chi-router
// initMux initializes the internal idp gorilla mux and mounts it in to an OpenCloud chi-router
func (idp *IDP) initMux(ctx context.Context, r []server.WithRoutes, h http.Handler, options Options) {
gm := mux.NewRouter()
for _, route := range r {

View File

@@ -6,7 +6,7 @@
<meta name="theme-color" content="#1b223d">
<link rel="shortcut icon" href="%PUBLIC_URL%/static/favicon.ico" type="image/x-icon">
<meta property="csp-nonce" content="__CSP_NONCE__">
<title>Sign in - ownCloud</title>
<title>Sign in - OpenCloud</title>
</head>
<body>
<noscript>

View File

@@ -1,2 +1,2 @@
# backend
-r '^(cmd|pkg)/.*\.go$' -R '^node_modules/' -s -- sh -c 'make bin/ocis-idp-debug && bin/ocis-idp-debug --log-level debug server --debug-pprof --debug-zpages'
-r '^(cmd|pkg)/.*\.go$' -R '^node_modules/' -s -- sh -c 'make bin/opencloud-idp-debug && bin/opencloud-idp-debug --log-level debug server --debug-pprof --debug-zpages'

View File

@@ -9,7 +9,7 @@ import 'kpop/static/css/scrollbar.css';
import Spinner from './components/Spinner';
import * as version from './version';
import { InfiniteScaleContext } from './infiniteScaleContext';
import { OpenCloudContext } from './openCloudContext';
const LazyMain = lazy(() => import(/* webpackChunkName: "identifier-main" */ './Main'));
@@ -47,7 +47,7 @@ const App = ({ bgImg }): ReactElement => {
return (
<InfiniteScaleContext.Provider value={{ theme, config }}>
<OpenCloudContext.Provider value={{ theme, config }}>
<div
className='oc-login-bg'
style={{ backgroundImage: bgImg ? `url(${bgImg})` : undefined }}
@@ -58,7 +58,7 @@ const App = ({ bgImg }): ReactElement => {
</Suspense>
</MuiThemeProvider>
</div>
</InfiniteScaleContext.Provider>
</OpenCloudContext.Provider>
);
}

View File

@@ -9,7 +9,7 @@ import Grid from '@material-ui/core/Grid';
import DialogContent from '@material-ui/core/DialogContent';
import Loading from './Loading';
import { InfiniteScaleContext } from "../infiniteScaleContext";
import { OpenCloudContext } from "../openCloudContext";
const styles = theme => ({
root: {
@@ -45,10 +45,10 @@ const ResponsiveScreen = (props) => {
className,
...other
} = props;
const { theme } = useContext(InfiniteScaleContext);
const { theme } = useContext(OpenCloudContext);
const logo = (theme && !withoutLogo) ? (
<img src={'/' + theme.common?.logo} className="oc-logo" alt="ownCloud Logo"/>
<img src={'/' + theme.common?.logo} className="oc-logo" alt="OpenCloud Logo"/>
) : null;
const content = loading ? <Loading/> : (withoutPadding ? children : <DialogContent>{children}</DialogContent>);
@@ -63,7 +63,7 @@ const ResponsiveScreen = (props) => {
</div>
</div>
<footer className="oc-footer-message">
<Trans i18nKey="konnect.footer.slogan"><strong>ownCloud</strong> - a safe home for all your data</Trans>
<Trans i18nKey="konnect.footer.slogan"><strong>OpenCloud</strong> - a safe home for all your data</Trans>
</footer>
</Grid>
);

View File

@@ -1,6 +1,6 @@
import { createContext } from 'react';
export const InfiniteScaleContext = createContext({
export const OpenCloudContext = createContext({
theme: null,
config: null,
});

File diff suppressed because one or more lines are too long