No description
Find a file
Benjamin Neff 1b9dfc812e
Allow to generate WebFinger with additional data
This allows projects to use this library to generate the WebFinger
document when they already need WebFinger for other elements.

Also removed the explicit alias_url, aliases can now be added with
{aliases: [alias_url]} as second parameter.
2017-05-02 22:30:19 +02:00
app/controllers/diaspora_federation use head method instead of :nothing option 2016-08-30 01:18:12 +02:00
bin Update spring binstubs 2017-01-19 01:53:07 +01:00
config add initializer to filter xml parameter from logging 2016-06-21 05:50:09 +02:00
docs Add public flag to profile entity 2017-04-23 23:18:17 +02:00
lib Allow to generate WebFinger with additional data 2017-05-02 22:30:19 +02:00
spec Allow to generate WebFinger with additional data 2017-05-02 22:30:19 +02:00
test Fail when no-rails.Gemfile.lock contains a rails dependency 2017-04-24 00:05:46 +02:00
.codeclimate.yml add .codeclimate.yml 2015-06-25 02:23:59 +02:00
.editorconfig add .editorconfig 2015-06-19 01:05:06 +02:00
.envrc add .envrc for direnv 2015-06-23 01:09:56 +02:00
.gitignore Fix typo in rspec-persistence.txt 2017-04-05 00:36:52 +02:00
.rspec WIP: move test dependencies to gemspec 2015-06-24 03:09:14 +02:00
.rubocop.yml Bump rubocop 2017-04-22 23:42:19 +02:00
.ruby-gemset initial commit 2015-06-10 03:13:44 +02:00
.ruby-version Add ruby 2.4 2017-01-19 01:53:07 +01:00
.travis.yml travis: Bump ruby versions 2017-04-22 23:27:18 +02:00
.yardopts add changelog to gems and documentation 2016-07-14 20:02:46 +02:00
Changelog.md Update changelog for 0.1.8 2017-03-02 21:05:15 +01:00
CONTRIBUTING.md Overhaul README, add contributing notes. 2016-06-26 03:37:48 +02:00
COPYRIGHT Add AGPL-3.0 license text 2017-02-12 20:56:37 +01:00
diaspora_federation-json_schema.gemspec Entity JSON serialization/deserialization feature 2017-03-23 13:55:19 +02:00
diaspora_federation-rails.gemspec Only set actionpack as dependency for diaspora_federation-rails 2017-04-05 00:36:52 +02:00
diaspora_federation-test.gemspec Replace factory_girl with fabrication 2017-04-04 22:14:13 +02:00
diaspora_federation.gemspec Exclude rake tasks from packaging 2017-04-24 22:37:57 +02:00
Gemfile Bump pronto and pronto-rubocop 2017-04-24 22:30:35 +02:00
Gemfile.lock Bump yard 2017-04-24 22:33:20 +02:00
Guardfile add guard-rubocop 2016-01-16 00:31:02 +01:00
LICENSE Add AGPL-3.0 license text 2017-02-12 20:56:37 +01:00
Rakefile Make rspec work without rails dependency 2017-04-05 02:02:04 +02:00
README.md Use https link for protocol documentation link 2017-01-05 01:19:18 +01:00

diaspora* federation library

A library that provides functionalities needed for the diaspora* federation protocol

master: Build Status master | develop: Build Status develop

Code Climate Test Coverage Dependency Status Inline docs Gem Version

Gem Documentation | Protocol Documentation | Bugtracker

This repository contains two gems:

  • diaspora_federation provides the functionality for de-/serialization and de-/encryption of Entities in the protocols used for communication among the various installations of diaspora*.
  • diaspora_federation-rails is a rails engine that adds the diaspora* federation protocol to a rails app.

Usage

Add the gem to your Gemfile:

gem "diaspora_federation-rails"

Mount the routes in your config/routes.rb:

mount DiasporaFederation::Engine => "/"

Configure the engine in config/initializers/diaspora_federation.rb:

DiasporaFederation.configure do |config|
  # the pod url
  config.server_uri = AppConfig.pod_uri

  config.define_callbacks do
    on :fetch_person_for_webfinger do |diaspora_id|
      person = Person.find_local_by_diaspora_id(diaspora_id)
      if person
        DiasporaFederation::Discovery::WebFinger.new(
          # ...
        )
      end
    end

    on :fetch_person_for_hcard do |guid|
      # ...
    end
  end
end

Contributing

See our contribution guide for more information on how to contribute to the diaspora* federation library.

License

GNU Affero General Public License.