question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Unable to override security context

See original GitHub issue

When I change:

"sec": "https://w3id.org/security#",

to

"sec": "https://identity.foundation/context/security#",

Linked Data Signatures no longer work:

Error: No matching proofs found in the given document.

However… that does not make any sense, since I am just trying to define vocabulary.

I can see in the documentation:

   * Important note: This method assumes that the term `proof` in the given
   * document has the same definition as the `https://w3id.org/security/v2`
   * JSON-LD @context.

This means that in order to properly override the security context, I need to hack node modules and edit security vocab…

This seems like a lot of work to get the document loader to behave as expected…

What is the best way of overriding the security context without editing node_modules?

I don’t think its possible to do given the current module structure:

https://github.com/digitalbazaar/jsonld-signatures/blob/59372054de4c0f8a74704a0f27f7eddd3d3727e4/lib/documentLoader.js#L9

If you are trying to use a customDocumentLoader, you should be able to control how https://w3id.org/security/v2 is loaded… it should not be using a bundled module.

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:10 (2 by maintainers)

github_iconTop GitHub Comments

2reactions
dlongleycommented, Jan 27, 2020

OR13,

A change to the core sec prefix is not a trivial thing, it can break interoperability for “JSON-only” verifiers (they would need to upgrade to support the new change). That prefix is used to define all of the URLs that the terms map to. A change like that makes it such that any signature signed using the previous definition will not be the same as a signature signed using this new version (using the same deterministic private key). In other words, it can be seen as a breaking change for at least a subset of the community, and one that needs to be discussed in the wider community before it happens. So, it’s not that it can’t happen, but it’s essentially a “hard fork” that, again, merits discussion so people can understand the consequences.

We’re likely to have to do this kind of “hard fork” once LD proofs get to a W3C Recommendation (hopefully getting on its way to that this year via a new W3C WG) as we can put things in the w3 namespace, but, ideally, we’d only do this once. I would say it’s not worth changing what URLs the security terms map to right now – we can instead just move the w3id.org entry to redirect to the new central location for the vocab, etc. This is a backwards-compatibly safe way to do it.

1reaction
OR13commented, Jan 27, 2020

Thanks! This is super helpful.

If I can get the documentation updated, and we can find a new place to host it, it sounds like using w3id.org to point to that new central location is the best solution. Until we experience the hard fork when this stuff hits W3C Recommendation.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Overriding security context doesn't work anymore #6105
Describe the bug We are facing an issue with the common security annotations @RolesAllowed, @Denyall, @permitAll on REST endpoints.
Read more >
Unable to retrieve security context from within Spring-Jersey
I am trying to retrieve a security context within my spring-jersey bean, however I keep getting Null authentication.
Read more >
Unable to change user in security context of symlink
I have created a few symbolic links to replace some broken links in /etc/pam.d . The original links have system_u as the user....
Read more >
Configure a Security Context for a Pod or Container
Security settings that you specify for a Container apply only to the individual Container, and they override settings made at the Pod level ......
Read more >
Spring Security: Authentication and Authorization In-Depth
A normal Spring @Configuration with the @EnableWebSecurity annotation, extending from WebSecurityConfigurerAdapter. By overriding the adapter's ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found