-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathpassword-authenticator.html
108 lines (95 loc) · 5.03 KB
/
password-authenticator.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<!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>10.7. Password Authenticator — Presto 0.206 Documentation</title>
<link rel="stylesheet" href="../_static/presto.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.206',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</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>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="top" title="Presto 0.206 Documentation" href="../index.html" />
<link rel="up" title="10. Developer Guide" href="../develop.html" />
<link rel="next" title="10.8. Event Listener" href="event-listener.html" />
<link rel="prev" title="10.6. System Access Control" href="system-access-control.html" />
</head>
<body role="document">
<div class="header">
<h1 class="heading"><a href="../index.html">
<span>Presto 0.206 Documentation</span></a></h1>
<h2 class="heading"><span>10.7. Password Authenticator</span></h2>
</div>
<div class="topnav">
<p class="nav">
<span class="left">
« <a href="system-access-control.html">10.6. System Access Control</a>
</span>
<span class="right">
<a href="event-listener.html">10.8. Event Listener</a> »
</span>
</p>
</div>
<div class="content">
<div class="section" id="password-authenticator">
<h1>10.7. Password Authenticator</h1>
<p>Presto supports authentication with a username and password via a custom
password authenticator that validates the credentials and creates a principal.</p>
<div class="section" id="implementation">
<h2>Implementation</h2>
<p><code class="docutils literal"><span class="pre">PasswordAuthenticatorFactory</span></code> is responsible for creating a
<code class="docutils literal"><span class="pre">PasswordAuthenticator</span></code> instance. It also defines the name of this
authenticator which is used by the administrator in a Presto configuration.</p>
<p><code class="docutils literal"><span class="pre">PasswordAuthenticator</span></code> contains a single method, <code class="docutils literal"><span class="pre">createAuthenticatedPrincipal()</span></code>,
that validates the credential and returns a <code class="docutils literal"><span class="pre">Principal</span></code>, which is then
authorized by the <a class="reference internal" href="system-access-control.html"><span class="doc">System Access Control</span></a>.</p>
<p>The implementation of <code class="docutils literal"><span class="pre">PasswordAuthenticatorFactory</span></code> must be wrapped
as a plugin and installed on the Presto cluster.</p>
</div>
<div class="section" id="configuration">
<h2>Configuration</h2>
<p>After a plugin that implements <code class="docutils literal"><span class="pre">PasswordAuthenticatorFactory</span></code> has been
installed on the coordinator, it is configured using an
<code class="docutils literal"><span class="pre">etc/password-authenticator.properties</span></code> file. All of the
properties other than <code class="docutils literal"><span class="pre">access-control.name</span></code> are specific to the
<code class="docutils literal"><span class="pre">PasswordAuthenticatorFactory</span></code> implementation.</p>
<p>The <code class="docutils literal"><span class="pre">password-authenticator.name</span></code> property is used by Presto to find a
registered <code class="docutils literal"><span class="pre">PasswordAuthenticatorFactory</span></code> based on the name returned by
<code class="docutils literal"><span class="pre">PasswordAuthenticatorFactory.getName()</span></code>. The remaining properties are
passed as a map to <code class="docutils literal"><span class="pre">PasswordAuthenticatorFactory.create()</span></code>.</p>
<p>Example configuration file:</p>
<div class="highlight-none"><div class="highlight"><pre><span></span>password-authenticator.name=custom-access-control
custom-property1=custom-value1
custom-property2=custom-value2
</pre></div>
</div>
<p>Additionally, the coordinator must be configured to use password authentication
and have HTTPS enabled.</p>
</div>
</div>
</div>
<div class="bottomnav">
<p class="nav">
<span class="left">
« <a href="system-access-control.html">10.6. System Access Control</a>
</span>
<span class="right">
<a href="event-listener.html">10.8. Event Listener</a> »
</span>
</p>
</div>
<div class="footer" role="contentinfo">
</div>
</body>
</html>