Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Graph API capability #4481

Closed
kulmann opened this issue Aug 31, 2022 · 4 comments
Closed

Graph API capability #4481

kulmann opened this issue Aug 31, 2022 · 4 comments

Comments

@kulmann
Copy link
Contributor

kulmann commented Aug 31, 2022

Is your feature request related to a problem? Please describe.

The ownCloud Web client needs to know whether or not it should query the graph api or a different api (e.g. graph or OCS for obtaining names of groups of a user).

Describe the solution you'd like

Minimal solution: introduce a new capability object graph with props enabled and version, as already done for e.g. spaces capability.
More advanced solution: inside the graph capability from the minimal solution we could add a list of available endpoints. Not sure if that makes sense.

Describe alternatives you've considered

None. Happy about ideas.

@butonic
Copy link
Member

butonic commented Aug 31, 2022

I would like to see a discovery mechanism for the graph endpoint that works similar to the openid connect discovery: https://openid.net/specs/openid-connect-discovery-1_0.html

When the user enters his username or email in the login form a discovery is used to find the IdP as well as the graph endpoint. The graph endpoint and its capabilities can then be described in the same way as IdP metadata: https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata

Now, the discovery is optional and the default url could be our old status.php or capabilities endpoint, but I think it makes more sense to use https://cloud.ocis.test/graph/v1.0/$metadata as that holds all metadata for an odata endpoint: https://docs.microsoft.com/en-us/graph/traverse-the-graph

You can take a look at https://graph.microsoft.com/v1.0/$metadata to see the ms graph metadata.

To answer the original question: for now use a config property for the web ui that defines how the web ui should decide:

for oc10 deployments

"discovery": {
  "oidc": {"static": "https://idp.ocis.test"}, // or relative urls?
  "capabilities": {"static": "https://oc10.ocis.test"},

for ocis

"discovery": {
  "oidc": {"static": "https://idp.ocis.test"},
  "graph": {"static": "/graph/v1.0"},
}

in the future

"discovery": {
  "oidc": "auto",
  "graph": "auto",
}

thoughts?

@stale
Copy link

stale bot commented Nov 1, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 10 days if no further activity occurs. Thank you for your contributions.

@rhafer
Copy link
Contributor

rhafer commented Mar 23, 2023

You can take a look at https://graph.microsoft.com/v1.0/$metadata to see the ms graph metadata.

Did that. I am not sure what to say ... it's overwhelming.
I am not exactly sure how that would provide the information we actually need though. Ok it exposes a list of all the types and relations (and more) that are supported by a certain API.

But what the WebUI additionally needs is e.g. possibility to figure out which user properties are readonly and which are writeable in the current configuaration. So when e.g. an external IDM is used mark all the user properties apart from accountEnabled as readonly.

@kulmann
Copy link
Contributor Author

kulmann commented Apr 23, 2024

Not relevant anymore, since web is only talking with ocis by now 🥳

@kulmann kulmann closed this as completed Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants