Skip to content

Commit c86bf03

Browse files
author
John Van de Meulebrouck Brendgard
committed
Merge branch 'new_docker_image'
2 parents 6a524a5 + 0b0aedd commit c86bf03

File tree

13 files changed

+1029
-17
lines changed

13 files changed

+1029
-17
lines changed

.travis.yml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,20 @@ matrix:
1515
script:
1616
- tox
1717
deploy:
18-
provider: pypi
19-
distributions: sdist bdist_wheel
20-
user: Lundberg
21-
password:
22-
secure: NwkpOakaeJjErjTF4Y5MWeHzMvkxYZqrBFdRkzfenVfkWsomuyy553A691d3lc1+oREsh1fJJLjpZQYxTLUFIHOUmt/9zr02rFfguzj7hEYfWF8wHBXG6YSWv6T3aCA4RTMXvvzv9cHf1zfxh0fS7kgc+NRMAnd01diVLfYpBciLgmQ31J4mlwShp8yBQUoRBIvzSdzrgjr0TzCQZXB9xM6R2t/oJgXLo6Zz8dTzqq3De9nOU/1P2ZHLxodDikuFdu2/0CjoDgFXB0KnGKGKmJ6G1WMCVvi7abY7smmGA3s4a4NVL7Cirx6VwIj79PsAcgupr2iBAQk/GsPffzdpLtIrBek9u//p84hxrj/IaJWgPOeKeD7+r2Kc2g0r2dQjaM+9MqBx9/lC57xJRX/JHLQWirXfCucB9YyPun5I13Sf3hArkssQy/Jvd2aLFZ885BTfow6TAwl1ud+UPeauvEj6myKO98sko/3Y521EGXRofLGaPokLyPjI/3I4N4jCvw8m86eZAjjIhPFL7JKHf8OVc5gQCYQy3kxiF5wyvbfOeMBp0sk9UvJOrWvBEXFrimAZPu8o8T5WtlQAV02q7rxUwhMd+fpnbGewsl7Ob6eE4rGVrfWQIb86wOHbbJk3lCwPytjEFEI2bdUfRUFcrWxhC040hRP0gzVKLa+nBHM=
23-
on:
24-
tags: true
25-
repo: SUNET/SATOSA
18+
- provider: pypi
19+
distributions: sdist bdist_wheel
20+
user: Lundberg
21+
password:
22+
secure: NwkpOakaeJjErjTF4Y5MWeHzMvkxYZqrBFdRkzfenVfkWsomuyy553A691d3lc1+oREsh1fJJLjpZQYxTLUFIHOUmt/9zr02rFfguzj7hEYfWF8wHBXG6YSWv6T3aCA4RTMXvvzv9cHf1zfxh0fS7kgc+NRMAnd01diVLfYpBciLgmQ31J4mlwShp8yBQUoRBIvzSdzrgjr0TzCQZXB9xM6R2t/oJgXLo6Zz8dTzqq3De9nOU/1P2ZHLxodDikuFdu2/0CjoDgFXB0KnGKGKmJ6G1WMCVvi7abY7smmGA3s4a4NVL7Cirx6VwIj79PsAcgupr2iBAQk/GsPffzdpLtIrBek9u//p84hxrj/IaJWgPOeKeD7+r2Kc2g0r2dQjaM+9MqBx9/lC57xJRX/JHLQWirXfCucB9YyPun5I13Sf3hArkssQy/Jvd2aLFZ885BTfow6TAwl1ud+UPeauvEj6myKO98sko/3Y521EGXRofLGaPokLyPjI/3I4N4jCvw8m86eZAjjIhPFL7JKHf8OVc5gQCYQy3kxiF5wyvbfOeMBp0sk9UvJOrWvBEXFrimAZPu8o8T5WtlQAV02q7rxUwhMd+fpnbGewsl7Ob6eE4rGVrfWQIb86wOHbbJk3lCwPytjEFEI2bdUfRUFcrWxhC040hRP0gzVKLa+nBHM=
23+
on:
24+
tags: true
25+
repo: SUNET/SATOSA
26+
- provider: script
27+
script: scripts/travis_create_docker_image.sh
28+
on:
29+
repo: SUNET/SATOSA
30+
branch: master
31+
env:
32+
global:
33+
- secure: ymdbaVVKJFq193xn+pr7sRyjkcOBtpm6eu+A9QsdtzO6vhaj+MhFfsjWAJbGiaSvX691bLd+9kFqH76HViN1LbmkCujBm2+4k0DBSakb70T/81UNNpYGy4iIYzCKaWPPSwvFGfRjNY14RILEpOI8NCkJuDMuO7CiGkwOtmlOdP/tYdV9T3p36Hgpwa/0U5kIahqwnbBKiwjGGhI8YA4Ik01P4biEv3Fr++jS4dhzMe+hYjWDXW+bksf9OikbtJkPzHlZxCDgFH4yNY1TH6P3X/B8NLTrvpNZOj2GgQoZBDrTEM+RLdaLQ8EYcrJaEaOZs65Jicpw5Ycz8DHUuBXwlSiG1g/VJlzxYchGxnLguVyEELEm7p7vhDFYNOROL3J4PpY8E1+L834xzmhCqbHM2kHB2WeiIob0j1Hq7U1802tFuM+tu8P4gdEyGxstQaIehiTI/VQEJm+sKB1W5xtDQokrnMyiQfJy4K7T4ZrONV/gVhb85ayS6eF/Xu1vr/5s/fWyQOxNKvoeEiO6VVoLTWNPEysTewLFc8o7HcE/Qnv/67IwuK/vx0ZlESbNCRgTfqyWpn5vybyWmgo9aUC51hDiVQtZfVeaoF/Xtg2yxVn/4C1aPybpA2Oacll8LjyYwyoCeH3naD0j9Msy4izny2PF7MTT4iNbtwhRoAAqXic=
34+
- secure: loJ+Bfind3tbEVrWqEalZT5bMqGFrMewo3jDwH9iJEw28tl+PasTCvCOJRsOomtdMp2QZh8e5wwnL1m7mkHWZaBDMxAg2mXlEv2W817SyAKkgFVnjXr8FJK4kjGAA5l2WXWKo7HKs2lOygZaDxj67i4htvg6cIxVf3dnI+MHpN5CONBfF6cXkFGMZoW+uc2diApyvIVCzte0JZkp6ZepWiyjelPl38pgWlD9elJEUaut0qKGZHtsRnLgTOzbBl49FV4lzCqt7wBnnwwQpTtvEyRW47O/VMYORAFFXpgUDPejE37+bf1wS6hlr0vSHFSUKILQWUH0l09+BPrxpoRj5SYkFD18xvqlWDNrNoANSMgRm/8cL1ucd7T5N03lKtNpaKT2ejHPj6Hu86mXFvcxcZnIcH7ppmXjZU2xfI2ytmmqxXysYeiCc6RgClmFBf3lnZz7iaHVrL8tU1x+eDzEQKvDbYHQnO9+4xXY37PH4ViJJEDoLq3NGhKxbDJ4oMgtz0mrjdWm8a1nWXIm8QTs2+oIhf+HrCpdqE8FfKnI7OyM8C+cwraApY77cZ9xfBqJGDQIgX3c+syB1ufVxY/DPDOXTysRUUHyWVgJeaL8EJEiMVnZMoGliY7QtnBznOglxynekIIaaZ5FMfh8hwA0pQ5idruqrtzVkBQoq8CdHfk=

Dockerfile

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
FROM ubuntu:16.04
2+
3+
RUN apt-get update && \
4+
apt-get -y dist-upgrade && \
5+
apt-get install -y --no-install-recommends \
6+
git \
7+
python3-dev \
8+
build-essential \
9+
python3-pip \
10+
libffi-dev \
11+
libssl-dev \
12+
xmlsec1 \
13+
libyaml-dev
14+
15+
RUN mkdir -p /src/satosa
16+
COPY . /src/satosa
17+
COPY docker/setup.sh /setup.sh
18+
RUN /setup.sh
19+
20+
COPY docker/start.sh /start.sh
21+
COPY docker/attributemaps /opt/satosa/attributemaps
22+
23+
VOLUME /opt/satosa/etc
24+
ENTRYPOINT ["/start.sh"]

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ can convert request and make the communication possible.
4848

4949
## SAML2<->Social logins
5050
This setup makes it possible to connect a SAML2 service provider to multiple social media identity
51-
providers such as Goolgle, Facebook. The proxy makes it possible to mirror a identity provider by
51+
providers such as Google and Facebook. The proxy makes it possible to mirror a identity provider by
5252
generating SAML2 metadata corresponding that provider and create dynamic endpoint which
5353
are connected to a single identity provider.
5454
For more information about how to set up, configure and run such a proxy instance please visit

doc/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ This document describes how to install and configure the SATOSA proxy.
55
# Installation
66

77
## <a name="docker" style="color:#000000">Docker</a>
8-
A pre-built Docker image is accessible at the [Docker Hub](https://hub.docker.com/r/itsdirg/satosa/), and is the
8+
A pre-built Docker image is accessible at the [Docker Hub](https://hub.docker.com/r/satosa/), and is the
99
recommended ways of running the proxy.
1010

1111
## <a name="manual_installation" style="color:#000000">Manual installation</a>
@@ -17,7 +17,7 @@ apt-get install libffi-dev libssl-dev xmlsec1
1717
````
1818
1919
### <a name="install_instructions" style="color:#000000">Instructions</a>
20-
1. Download the SATOSA proxy project as a [compressed archive](https://github.com/its-dirg/SATOSA/releases)
20+
1. Download the SATOSA proxy project as a [compressed archive](https://github.com/SUNET/SATOSA/releases)
2121
and unpack it to `<satosa_path>`.
2222
2323
1. Install the application:
@@ -26,7 +26,7 @@ apt-get install libffi-dev libssl-dev xmlsec1
2626
pip install <satosa_path>
2727
```
2828

29-
Alternatively the application can be installed directly from PyPI (`pip install satosa`), or the [Docker image](https://hub.docker.com/r/itsdirg/satosa/) can be used.
29+
Alternatively the application can be installed directly from PyPI (`pip install satosa`), or the [Docker image](https://hub.docker.com/r/satosa/) can be used.
3030

3131
# Configuration
3232
All default configuration files, as well as an example WSGI application for the proxy, can be found
@@ -306,10 +306,10 @@ The configuration parameters available:
306306
* `client_registration_supported` (default: `No`): boolean whether [dynamic client registration is supported](https://openid.net/specs/openid-connect-registration-1_0.html).
307307
If dynamic client registration is not supported all clients must exist in the MongoDB instance configured by the `db_uri` in the `"clients"` collection of the `"satosa"` database.
308308
The registration info must be stored using the client id as a key, and use the parameter names of a [OIDC Registration Response](https://openid.net/specs/openid-connect-registration-1_0.html#RegistrationResponse).
309-
* `authorization_code_lifetime`: how long authorization codes should be valid, see [default](https://github.com/its-dirg/pyop#token-lifetimes)
310-
* `access_token_lifetime`: how long access tokens should be valid, see [default](https://github.com/its-dirg/pyop#token-lifetimes)
311-
* `refresh_token_lifetime`: how long refresh tokens should be valid, if not specified no refresh tokens will be issued (which is [default](https://github.com/its-dirg/pyop#token-lifetimes))
312-
* `refresh_token_threshold`: how long before expiration refresh tokens should be refreshed, if not specified refresh tokens will never be refreshed (which is [default](https://github.com/its-dirg/pyop#token-lifetimes))
309+
* `authorization_code_lifetime`: how long authorization codes should be valid, see [default](https://github.com/SUNET/pyop#token-lifetimes)
310+
* `access_token_lifetime`: how long access tokens should be valid, see [default](https://github.com/SUNET/pyop#token-lifetimes)
311+
* `refresh_token_lifetime`: how long refresh tokens should be valid, if not specified no refresh tokens will be issued (which is [default](https://github.com/SUNET/pyop#token-lifetimes))
312+
* `refresh_token_threshold`: how long before expiration refresh tokens should be refreshed, if not specified refresh tokens will never be refreshed (which is [default](https://github.com/SUNET/pyop#token-lifetimes))
313313

314314
The other parameters should be left with their default values.
315315

@@ -519,7 +519,7 @@ To produce signed SAML metadata for all SAML front- and backend modules, run the
519519
satosa-saml-metadata <path to proxy_conf.yaml> <path to key for signing> <path to cert for signing>
520520
```
521521

522-
Detailed usage instructions can be viewed by running `satosa-saml-metadata -h`.
522+
Detailed usage instructions can be viewed by running `satosa-saml-metadata --help`.
523523

524524
# <a name="run" style="color:#000000">Start proxy application</a>
525525
Start the proxy server with the following command:

docker/attributemaps/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
__author__ = 'rohe0002'
2+
__all__ = ["adfs_v1x", "adfs_v20", "basic", "saml_uri", "shibboleth_uri"]

docker/attributemaps/adfs_v1x.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
CLAIMS = 'http://schemas.xmlsoap.org/claims/'
2+
3+
4+
MAP = {
5+
"identifier": "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified",
6+
'fro': {
7+
CLAIMS+'commonname': 'commonName',
8+
CLAIMS+'emailaddress': 'emailAddress',
9+
CLAIMS+'group': 'group',
10+
CLAIMS+'upn': 'upn',
11+
},
12+
'to': {
13+
'commonName': CLAIMS+'commonname',
14+
'emailAddress': CLAIMS+'emailaddress',
15+
'group': CLAIMS+'group',
16+
'upn': CLAIMS+'upn',
17+
}
18+
}

docker/attributemaps/adfs_v20.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
CLAIMS = 'http://schemas.xmlsoap.org/claims/'
2+
COM_WS_CLAIMS = 'http://schemas.xmlsoap.com/ws/2005/05/identity/claims/'
3+
MS_CLAIMS = 'http://schemas.microsoft.com/ws/2008/06/identity/claims/'
4+
ORG_WS_CLAIMS = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/'
5+
6+
7+
MAP = {
8+
"identifier": "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified",
9+
'fro': {
10+
CLAIMS+'commonname': 'commonName',
11+
CLAIMS+'group': 'group',
12+
COM_WS_CLAIMS+'denyonlysid': 'denyOnlySid',
13+
MS_CLAIMS+'authenticationmethod': 'authenticationMethod',
14+
MS_CLAIMS+'denyonlyprimarygroupsid': 'denyOnlyPrimaryGroupSid',
15+
MS_CLAIMS+'denyonlyprimarysid': 'denyOnlyPrimarySid',
16+
MS_CLAIMS+'groupsid': 'groupSid',
17+
MS_CLAIMS+'primarygroupsid': 'primaryGroupSid',
18+
MS_CLAIMS+'primarysid': 'primarySid',
19+
MS_CLAIMS+'role': 'role',
20+
MS_CLAIMS+'windowsaccountname': 'windowsAccountName',
21+
ORG_WS_CLAIMS+'emailaddress': 'emailAddress',
22+
ORG_WS_CLAIMS+'givenname': 'givenName',
23+
ORG_WS_CLAIMS+'name': 'name',
24+
ORG_WS_CLAIMS+'nameidentifier': 'nameId',
25+
ORG_WS_CLAIMS+'privatepersonalidentifier': 'privatePersonalId',
26+
ORG_WS_CLAIMS+'surname': 'surname',
27+
ORG_WS_CLAIMS+'upn': 'upn',
28+
},
29+
'to': {
30+
'authenticationMethod': MS_CLAIMS+'authenticationmethod',
31+
'commonName': CLAIMS+'commonname',
32+
'denyOnlyPrimaryGroupSid': MS_CLAIMS+'denyonlyprimarygroupsid',
33+
'denyOnlyPrimarySid': MS_CLAIMS+'denyonlyprimarysid',
34+
'denyOnlySid': COM_WS_CLAIMS+'denyonlysid',
35+
'emailAddress': ORG_WS_CLAIMS+'emailaddress',
36+
'givenName': ORG_WS_CLAIMS+'givenname',
37+
'group': CLAIMS+'group',
38+
'groupSid': MS_CLAIMS+'groupsid',
39+
'name': ORG_WS_CLAIMS+'name',
40+
'nameId': ORG_WS_CLAIMS+'nameidentifier',
41+
'primaryGroupSid': MS_CLAIMS+'primarygroupsid',
42+
'primarySid': MS_CLAIMS+'primarysid',
43+
'privatePersonalId': ORG_WS_CLAIMS+'privatepersonalidentifier',
44+
'role': MS_CLAIMS+'role',
45+
'surname': ORG_WS_CLAIMS+'surname',
46+
'upn': ORG_WS_CLAIMS+'upn',
47+
'windowsAccountName': MS_CLAIMS+'windowsaccountname',
48+
}
49+
}

0 commit comments

Comments
 (0)