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

added stub for AuthenticateUser fn. This is to show you how pull requ… #1

Open
wants to merge 57 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
c5092be
added stub for AuthenticateUser fn. This is to show you how pull requ…
gabemorcoteshuttl Oct 4, 2016
e94c933
commiting some changes so I can checkout Allens Test branch.
gabemorcoteshuttl Oct 7, 2016
ed471a6
here we have 6 digit pin working with authenticateCredentials... not …
gabemorcoteshuttl Oct 10, 2016
cdb2a64
SMS authentication function and added Standard version
Oct 14, 2016
30351d4
Add management services with sendOtp
Oct 15, 2016
f6ecfb5
Forgot import for Manage services in soap-play
Oct 15, 2016
996d0ae
SMS works, try it out if you wish
Oct 15, 2016
bf38976
Query functions added, AND Poll function in soap-play.py
Oct 15, 2016
0c9f79a
some unit tests
gabemorcoteshuttl Oct 18, 2016
d7d9ea6
Merge branch 'authenticateUserStub' of https://github.com/ryanrampage…
gabemorcoteshuttl Oct 18, 2016
0cab3a8
added createUser funciton and test
gabemorcoteshuttl Oct 18, 2016
ea8b71f
deleteUser function and unit test
gabemorcoteshuttl Oct 19, 2016
60da562
ADDING UserManagement Test and createuser/deleteUser functions
gabemorcoteshuttl Oct 19, 2016
3fb2930
Added encompassing class that contains all functions. NOTE: still nee…
Oct 19, 2016
859d500
Added Unit Test for PushPoll authentication
Oct 19, 2016
91b1752
Finished all query unit tests
Oct 19, 2016
7f7a6aa
Fixed unit test server time
Oct 19, 2016
651625e
Fixed all the pass to be returning strings. ALSO, fixed unit test for…
Oct 19, 2016
4deca87
All functions for the VIP Management API
Oct 20, 2016
40f7455
Changed URLS AND added add/remove Standard_OTP Credential from new User
gabemorcoteshuttl Oct 20, 2016
41bbdca
some res updates
Oct 23, 2016
c0f067c
added proper otp to authenticateUser
gabemorcoteshuttl Oct 25, 2016
620fe7e
Merge branch 'authenticateUserStub' of https://github.com/ryanrampage…
gabemorcoteshuttl Oct 25, 2016
59cd924
Sphinx setup works in PyCharm and project directory
Oct 26, 2016
b8df524
Finished last few SOAP call functions, also fixed authenticateUser() …
Oct 30, 2016
375932c
Updated SymantecServices class to include all functions from Symantec…
Oct 30, 2016
ecd4610
commented out sys path append
Oct 30, 2016
24f3093
Learned more SPHINX, Check out my example in SymantecManagementServices
Oct 30, 2016
0626a69
Finished the SymantecManagementServices module documentation
Oct 31, 2016
f6ad7e1
Forgot to add the classic.css
Oct 31, 2016
a400177
Fixed a couple functions, authenticateCredentialWithSMS and OTP. Stil…
gabemorcoteshuttl Nov 4, 2016
331b0d3
removed the str() for responses.
Nov 8, 2016
3e5ddf4
Finished the helper class functions to return a list of strings that …
Nov 8, 2016
e6fbbcb
Fixed all the user services functions and updated the wrapper class, …
Nov 9, 2016
e6739c8
updated tests right way
gabemorcoteshuttl Nov 9, 2016
a208eff
Merge branch 'authenticateUserStub' of https://github.com/ryanrampage…
gabemorcoteshuttl Nov 9, 2016
f3254d4
added 4 tests for UserManagement
gabemorcoteshuttl Nov 9, 2016
0bbd4b0
fixed authenticateCredentialWithPush (SMS_OTP not supported)
Nov 9, 2016
26a6a1a
Merge remote-tracking branch 'origin/authenticateUserStub' into authe…
Nov 9, 2016
2cf0650
Typo fixed
Nov 9, 2016
c9bd489
Some soap-play testing (XML parser in there). Didn't commit TestQuery…
Nov 11, 2016
4171f3e
added updated UserManagement tests
gabemorcoteshuttl Nov 11, 2016
62de2a9
Legacy class is partly completed
Nov 14, 2016
0ac5c62
added a few more tests
gabemorcoteshuttl Nov 14, 2016
a821cfc
Merge branch 'authenticateUserStub' of https://github.com/ryanrampage…
gabemorcoteshuttl Nov 14, 2016
13c73e7
Legacy class TokenId should be fixed.
Nov 14, 2016
85bd880
responses are now hash, works great.
gabemorcoteshuttl Nov 17, 2016
8fec1e6
Finished TestQueries
Nov 18, 2016
808c472
Finished UserServices unit testing!
Nov 18, 2016
e4bba76
TestAuthentication.py
Nov 18, 2016
572a4c1
added in documentation lines for user services functions.
gabemorcoteshuttl Nov 20, 2016
320e9e6
Updated README
gabemorcoteshuttl Nov 20, 2016
8928a7f
updated README
gabemorcoteshuttl Nov 22, 2016
e36b090
README
gabemorcoteshuttl Nov 22, 2016
3766123
README
gabemorcoteshuttl Nov 22, 2016
53e191a
README
gabemorcoteshuttl Nov 22, 2016
5b32987
README
gabemorcoteshuttl Nov 22, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 69 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,69 @@
# The Python module for Symantec VIP Services SDK Integration
under construction!
# Securitas

Securitas is a Python library for integrating Symantec VIP two factor authentication into any application.

## Installation

< Temporary, could be wrong, need to test! >

Install:

$ pip install securitas

## Obtaining a certificate

To use Securitas in your project you first need a certificate from [Symantec VIP manager](https://manager.vip.symantec.com).
To obtain a certificate login and go to Account -> Manage VIP Certificates -> Request a Certificate. From there follow
the directions to create a new certificate. On the download screen select the PKCS#12 format and enter the password you
would like to use to secure the certificate.

After downloading the PKCS#12 certificate, you must split it into a public and private key. To do so run the following two
commands.

Extract the private key:

$ openssl pkcs12 -in yourP12File.pfx -nocerts -out privateKey.pem

Extract the public certificate:

$ openssl pkcs12 -in yourP12File.pfx -clcerts -nokeys -out publicCert.pem

You may also want to remove the passphrase from the key:

$ openssl.exe rsa -in privateKey.pem -out privateKey_nopass.pem

## Usage

Once the certificate is split, Securitas is simple to start using.

```python
from suds.client import Client
from symantec_package.lib.userService.SymantecUserServices import SymantecUserServices

userservices_url = 'http://somelocation.io/vipuserservices-auth-1.7.wsdl'
user_services_client = Client(userservices_url,
transport = HTTPSClientCertTransport( '../privateKey_nopass.pem', '../publicCert.pem'))

test_user_services_object = SymantecUserServices(user_services_client)
send_push_to_phone_result = test_user_services_object.authenticateUserWithPush("push_123", "my_mobile_device")
# (reply){
# requestId = "push_123"
# status = "6040"
# statusMessage = "Mobile push request sent"
# transactionId = "<some_id>"
# pushDetail =
# (PushDetailType){
# pushCredentialId = "<some_credential_id>"
# pushSent = True
# }
# }

```

## Documentation

< Need to provide link once published! >

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ryanrampage1/Securitas. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
19 changes: 19 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SPHINXPROJ = SymantecVIPPython
SOURCEDIR = source
BUILDDIR = build

help:
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
Binary file added docs/build/doctrees/VIP_Python/modules.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added docs/build/doctrees/environment.pickle
Binary file not shown.
Binary file added docs/build/doctrees/index.doctree
Binary file not shown.
4 changes: 4 additions & 0 deletions docs/build/html/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 740e7d3e3c725e0d31cbebdaaa287ee2
tags: 645f666f9bcd5a90fca523b33c5a78b7
117 changes: 117 additions & 0 deletions docs/build/html/VIP_Python/modules.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>symantec_package &#8212; Symantec VIP Python documentation</title>

<link rel="stylesheet" href="../_static/classic.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />

<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/sidebar.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Symantec VIP Python documentation</a> &#187;</li>
</ul>
</div>

<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">

<div class="section" id="symantec-package">
<h1>symantec_package<a class="headerlink" href="#symantec-package" title="Permalink to this headline">¶</a></h1>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="symantec_package.html">symantec_package package</a><ul>
<li class="toctree-l2"><a class="reference internal" href="symantec_package.html#subpackages">Subpackages</a><ul>
<li class="toctree-l3"><a class="reference internal" href="symantec_package.lib.html">symantec_package.lib package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="symantec_package.lib.html#subpackages">Subpackages</a></li>
<li class="toctree-l4"><a class="reference internal" href="symantec_package.lib.html#module-symantec_package.lib">Module contents</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="symantec_package.html#submodules">Submodules</a></li>
<li class="toctree-l2"><a class="reference internal" href="symantec_package.html#module-symantec_package.HTTPHandler">symantec_package.HTTPHandler module</a></li>
<li class="toctree-l2"><a class="reference internal" href="symantec_package.html#symantec-package-soap-play-module">symantec_package.soap-play module</a></li>
<li class="toctree-l2"><a class="reference internal" href="symantec_package.html#module-symantec_package">Module contents</a></li>
</ul>
</li>
</ul>
</div>
</div>


</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/VIP_Python/modules.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Symantec VIP Python documentation</a> &#187;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016, Symantec VIP.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5a2.
</div>
</body>
</html>
Loading