mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-30 17:00:57 -06:00
@@ -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.
|
||||
|
||||
@@ -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),
|
||||
})
|
||||
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
);
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user