Git Product home page Git Product logo

oidcc's People

Contributors

bwegh avatar dependabot[bot] avatar foeken avatar jozuas avatar kianmeng avatar lburgey avatar maennchen avatar marcvs avatar mohamedalikhechine avatar paulswartz avatar urost avatar yordis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oidcc's Issues

Provider crashes on lost connection

oidcc_http_util line 40

solution: add providers with configuration in the supervisor, so a restart also reconfigures the provider.
so it still crashes yet gets restarted

Problems including as a dependency in a mix project

I'm trying to include this in a mix project as a dependency and am hitting some issues.

After adding to mix.exs like this:

  defp deps do
    [ . . . 
     {:oidcc, github: "indigo-dc/oidcc/"},
   ]
  end

We got this error.


Dependencies have diverged:
* ranch (https://github.com/extend/ranch.git)
 different specs were given for the ranch app:

 > In deps/gun/rebar.config:
   {:ranch, ~r/.*/, [git: "https://github.com/extend/ranch.git", ref: "master", manager: :rebar]}

 > In deps/cowboy/rebar.config:
   {:ranch, ~r/.*/, [git: "https://github.com/ninenines/ranch.git", ref: "1.0.0", manager: :rebar]}

 Ensure they match or specify one of the above in your deps and set "override: true"
* cowlib (https://github.com/extend/cowlib.git)
 different specs were given for the cowlib app:

 > In deps/gun/rebar.config:
   {:cowlib, ~r/.*/, [git: "https://github.com/extend/cowlib.git", ref: "1.3.0", manager: :rebar]}

 > In deps/cowboy/rebar.config:
   {:cowlib, ~r/.*/, [git: "https://github.com/ninenines/cowlib.git", ref: "1.0.0", manager: :rebar]}

 Ensure they match or specify one of the above in your deps and set "override: true"
** (Mix) Can't continue due to errors on dependencies

So we tried overriding the dependencies like so:

  defp deps do
    [. . . 
     {:oidcc, github: "indigo-dc/oidcc/"},
     {:ranch, ~r/.*/, [env: :prod, git: "https://github.com/extend/ranch.git", ref: "1.2.1", manager: :rebar, override: true]},
     {:cowlib, ~r/.*/, [env: :prod, git: "https://github.com/extend/cowlib.git", ref: "1.3.0", manager: :rebar, override: true]},
   ]
  end

which got all the deps succesfully but now it's failing here in mix compile:

==> jsx (compile)
Compiled src/jsx_verify.erl
Compiled src/jsx_to_term.erl
Compiled src/jsx_to_json.erl
Compiled src/jsx_encoder.erl
Compiled src/jsx_consult.erl
Compiled src/jsx_config.erl
Compiled src/jsx.erl
Compiled src/jsx_parser.erl
Compiled src/jsx_decoder.erl
Uncaught error in rebar_core: {'EXIT',
                               {function_clause,
                                [{code,which,
                                  [{rebar3_lint,
                                    {git,
                                     "https://github.com/bwegh/rebar3_lint.git",
                                     {branch,"master"}}}],
                                  [{file,"code.erl"},{line,719}]},
                                 {rebar_core,'-plugin_modules/3-lc$^0/1-0-',
                                  1,
                                  [{file,"src/rebar_core.erl"},{line,573}]},
                                 {rebar_core,plugin_modules,3,
                                  [{file,"src/rebar_core.erl"},{line,573}]},
                                 {rebar_core,process_dir1,7,
                                  [{file,"src/rebar_core.erl"},{line,244}]},
                                 {rebar_core,process_commands,2,
                                  [{file,"src/rebar_core.erl"},{line,93}]},
                                 {rebar,main,1,
                                  [{file,"src/rebar.erl"},{line,58}]},
                                 {escript,run,2,
                                  [{file,"escript.erl"},{line,757}]},
                                 {escript,start,1,
                                  [{file,"escript.erl"},{line,277}]}]}}

Do you have any suggestions on how to proceed? Thanks!

elixir --version
Erlang/OTP 19 [erts-8.0.2] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Elixir 1.3.2

Support for signed userinfo

needs to be registered with

userinfo_signed_response_alg=RS256

(or similar supported JWT algorithm)

the userinfo will then be a JWT

change from gun to httpc

this lowers the dependencies of oidcc.
performance is not much of a matter as the communication is only used for login and fetching the configuration.

support syncronisation of http requests through cache

Idea:
if 10 parallel request all need the same http request to be performed:

  • first one will perform the request and mark it as cache-pending
  • the others will also wait for the result of the first as the cache does not return on the call
  • once the result gets cached all receive the result

Implement sessions and callback

add session support for the complete handshake, so the library user can hand off the complete process to the library.

this will include:

  • setting up a session per request and managing them.
  • implementing a callback module for cowboy to be used for the redirection and when coming back

unify api

unify the api, so future changes possibly won't need an api change

add field on oicc implementations

so arbitrary data can be passed on success and fail.
these can include implementation specific argument, like

  • req for cowboy
  • env for psycho

to be most generic it will be a map, which might or might not contain key/value pairs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.