<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="31037" data-post-id="31037">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="smpallen99" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/smpallen99/120/1157_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  smpallen99
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I just pushed an update to the coherence phx-1.3 branch that has support for using the latest coherence with both legacy phoenix and the new phx project structures. The work is not done yet, but there should be enough functionality to get going.</p>
<p>This branch now supports, what I believe, is a good Gettext implementation that allows full localization of all Coherence messages using your app’s Gettext module.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="31037" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/user-authentication-in-phoenix/118/75">Post #74</a>
	                </div>
	            </div>
              <div id="likers-container-31037" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="31037"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #74"></div>
  </section>
</div>
    <div class="postbit" id="31980" data-post-id="31980">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="igor" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  igor
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi, I’ve read the description of the Coherence auth project and there are seems all features which I need for my project, specifically:<br>
password restore<br>
email confirmation<br>
password bruteforce protection<br>
I’d like to try it out. But if I get it correctly, Coherence comes with it’s own router with own views and templates. As my project is gonna be multilingual and I plan to take the approach similar to described in the article <a href="http://code.parent.co/practical-i18n-with-phoenix-and-elixir/" rel="noopener nofollow ugc">http://code.parent.co/practical-i18n-with-phoenix-and-elixir/</a> where each url if it is not localized (first chunk should replicate locale ie en, uk, es, fr etc…) is redirected to the localized in accordance with browser settings and configured list of allowed languages and fallback to default language if they don’t match.<br>
As the phoenix 1.2 is currently the stable version I’m gonna be using this.</p>
<p>Most of the auth examples I’ve stambled upon don’t have localization in mind.<br>
So, the question is how well will the Coherence play with multilinqual site like that. I need register, login, restore password pages to have localized pages (with gettext) as well as confirmation emails etc.. Is there an example how to do it, how many and what kind of tweaks should be done?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="31980" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/user-authentication-in-phoenix/118/76">Post #75</a>
	                </div>
	            </div>
              <div id="likers-container-31980" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="31980"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #75"></div>
  </section>
</div>
    <div class="postbit" id="31988" data-post-id="31988">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="odyright" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/odyright/120/4787_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  odyright
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>hello, talking about authentication with Phoenix/Elixir… there was a conference <strong>“Elixir Daze 2017”</strong> and  The talk by <strong>João Moura</strong> was about what we can do to manage well this subject.<br>
He has to attract the attention to the differences between coherence, uberauth, pot, guard and keeper (library that he is developing to work as Multi Factor Authentication), and the usage of Json Web Tokens.</p>
<p>here is the video link: <a href="https://www.youtube.com/watch?v=rJVq5prpyj4" rel="noopener nofollow ugc">ElixirDaze 2017- Tackling Authentication with Phoenix by João Maura</a><br>
and his github repo: <a href="https://github.com/joaomdmoura/keeper" rel="noopener nofollow ugc">keeper</a></p>
<p>If it can help…</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="31988" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/user-authentication-in-phoenix/118/77">Post #76</a>
	                </div>
	            </div>
              <div id="likers-container-31988" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="31988"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #76"></div>
  </section>
</div>
    <div class="postbit" id="31995" data-post-id="31995">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="smpallen99" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/smpallen99/120/1157_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  smpallen99
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/igor" rel="nofollow">@igor</a> I can’t see anything obvious why you should not be able to use Coherence with this approach. I would create a quick spike to to try it and flush out any potential issues.</p>
<p>Couple things to consider:</p>
<ul>
<li>Make sure the Coherence plugs come after the localization plugs</li>
<li>Use the phx-1.3 branch in Coherence</li>
<li>Use the <code>mix coherence.install</code> task, not the mix <code>coh.install</code> task.</li>
</ul>
<p>If you do run into trouble, push your spike project to github so I can easily reproduce your issue.</p>
<p>I have tested the phx-1.3 branch with phoenix-1.3.0-rc with projects made with <code>mix phoenix.new</code>. I have not tested it on pre phoenix-1.3.0 projects however.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="31995" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/user-authentication-in-phoenix/118/78">Post #77</a>
	                </div>
	            </div>
              <div id="likers-container-31995" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="31995"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #77"></div>
  </section>
</div>
    <div class="postbit" id="36162" data-post-id="36162">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="igor" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  igor
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/smpallen99" rel="nofollow">@smpallen99</a> I wanted to say thanks for your quick answer, it was a big help. I got the coherence v-1.3 working nicely with the localization and phoenix-1.3, which I finally have choosen for the project. To make it work there were only router settings needed to be a little customized. In case someone can find it usefull I will leave the router code here. May be there is some not necessary stuff, for example I’m not sure about  this</p>
<pre><code>  # Add this block
  scope "/" do
    pipe_through :protected
    coherence_routes :protected
    
  end
</code></pre>
<p>part. It is never touched because of the locale plug which redirects user before the route gets called. But compiler seems won’t generate helper path functions without it.</p>
<p>In general, it’s important to pay attention to the order of scopes and their namespaces because coherence needs all it’s paths to be in scopes which are not namespaced and all protected paths to go after all public paths to work properly.</p>
<pre><code>defmodule MyProject.Web.Router do
  use MyProject.Web, :router
  use Coherence.Router         # Add this

  pipeline :browser do
    plug :accepts, ["html"]
    plug :fetch_session
    plug :fetch_flash
    plug :protect_from_forgery
    plug :put_secure_browser_headers
    plug MyProject.Web.Plug.Locale, "en"    
    plug Coherence.Authentication.Session  # Add this
  end

  pipeline :protected do
    plug :accepts, ["html"]
    plug :fetch_session
    plug :fetch_flash
    plug :protect_from_forgery
    plug :put_secure_browser_headers
    plug MyProject.Web.Plug.Locale, "en"    
    plug Coherence.Authentication.Session, protected: true  # Add this
  end

  pipeline :api do
    plug :accepts, ["json"]
  end  
  
  # Add this block
  scope "/" do
    pipe_through :browser
    coherence_routes()
    scope "/", MyProject.Web do
      get "/", PageController, :index
    end    
  end

  # Add this block
  scope "/:locale", as: :locale do
    pipe_through :browser
    coherence_routes()
    
    scope "/", MyProject.Web do
      get "/", PageController, :index      
    end    
  end

  # Add this block
  scope "/" do
    pipe_through :protected
    coherence_routes :protected        
  end
  
  # Add this block
  scope "/:locale", as: :locale do
    pipe_through :protected
    coherence_routes :protected
    
    scope "/", MyProject.Web do
    # Add protected routes below
    end    
  end    
end
</code></pre>
<p>For now I have another question - what is the easyest way to provide the complex form for the anonimous user to register and at the same time create some content on the site which will be published after user confirms his account. Does the coherence provide the simple api function to be used in my controller to get the user registered and the confirmation email sent?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36162" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/user-authentication-in-phoenix/118/79">Post #78</a>
	                </div>
	            </div>
              <div id="likers-container-36162" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36162"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #78"></div>
  </section>
</div>
    <div class="postbit" id="36167" data-post-id="36167">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="smpallen99" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/smpallen99/120/1157_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  smpallen99
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group quote-modified" data-username="igor" data-post="79" data-topic="118">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/i/dec6dc/48.png" class="avatar"> igor:</div>
<blockquote>
<p>May be there is some not necessary stuff, for example I’m not sure about  this</p>
<h1>Add this block</h1>
<p>scope “/” do<br>
pipe_through :protected<br>
coherence_routes :protected</p>
<p>end</p>
</blockquote>
</aside>
<p>This block provides the routes for a logged in user. You can review the source in <code>Coherence.Router</code> for more specifics.</p>
<p>I’m not sure if you using your own controllers, or have generated the coherence controllers. You can view the coherence controllers. For example these two lines in the Session create action are responsible for logging in a user. they could be called from the Registration controller create action.</p>
<p><a href="https://github.com/smpallen99/coherence/blob/phx-1.3/web/controllers/session_controller.ex#L118" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/smpallen99/coherence/blob/phx-1.3/web/controllers/session_controller.ex#L118</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36167" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/user-authentication-in-phoenix/118/80">Post #79</a>
	                </div>
	            </div>
              <div id="likers-container-36167" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36167"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #79"></div>
  </section>
</div>
    <div class="postbit" id="36170" data-post-id="36170">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="igor" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  igor
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/smpallen99" rel="nofollow">@smpallen99</a></p>
<aside class="quote no-group" data-username="smpallen99" data-post="80" data-topic="118">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/smpallen99/48/1157_2.png" class="avatar"> smpallen99:</div>
<blockquote>
<p>This block provides the routes for a logged in user. You can review the source in Coherence.Router for more specifics.</p>
</blockquote>
</aside>
<p>Yeah, I see. But in my router locale plug comes to work first and redirects such paths to /:locale/… paths. For localized protected paths I have</p>
<pre><code>   scope "/:locale", as: :locale do
    pipe_through :protected
    coherence_routes :protected
    
    scope "/", MyProject.Web do
    # Add protected routes below
    end    
  end   
</code></pre>
<p>As for my second question about creating complex form for registering user and at the same time adding some content to my site, I’ve looked into coherence source, as you told me, particularly into RegistrationController and found that to register new user and send him a confirmation email there are two functions used, changeset and send_confirmation, both located in Coherence.ControllerHelpers, which do exactly what I need, thank you one more time!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36170" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/user-authentication-in-phoenix/118/81">Post #80</a>
	                </div>
	            </div>
              <div id="likers-container-36170" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36170"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #80"></div>
  </section>
</div>
    <div class="postbit" id="39833" data-post-id="39833">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="soriyath" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/soriyath/120/5792_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  soriyath
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Since it hasn’t been mentioned yet, how would OpenID fit into an Elixir / Phoenix Framework picture ?</p>
<p>There’s <a rel="nofollow">https://github.com/mustafaturan/shield/tree/ui</a> that can be used as an identity provider. This could act as a separate process within an umbrella app, thus segregating user management concerns from the app’s domain.</p>
<p>there is also an erlang implementation of OpenID relying party <a rel="nofollow">https://github.com/indigo-dc/oidcc</a>, which could be used (not sure if it’d had to be ported though ; being still a newbie in Elixir) to delegate login to a third party identity provider.</p>
<p>I understand this post is generic without implementation detail. What are your thoughts in terms of maintainability and security ?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="39833" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/user-authentication-in-phoenix/118/82">Post #81</a>
	                </div>
	            </div>
              <div id="likers-container-39833" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="39833"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #81"></div>
  </section>
</div>
    <div class="postbit" id="41017" data-post-id="41017">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="AlexMcConnell" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/AlexMcConnell/120/3875_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  AlexMcConnell
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="OvermindDL1" data-post="65" data-topic="118" data-full="true">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/overminddl1/48/2677_2.png" class="avatar"> OvermindDL1:</div>
<blockquote>
<p>Coherence for me, sadly, is entirely untenable as it only supplies an internal registration.  It has no support for external directories, no support for oauth (they are talking of it, but nothing yet), and its methods of injecting its views are a little different than usual phoenix’y stuff.  ^.^</p>
<p>I currently just use ueberauth as it handles all login types fine, but it does not have any views or back-end handling (including nothing like the features you listed), however those tend not to be hard to make, just needs a library (and I’d still not opt for automatic login/registration page handling).  I had been playing with an idea to wrap uberauth in a coherence-like thing that handles all styles via protocol dispatch (and a default case the user could depend on as well for a stock coherence-like style), but I’d also like to do more traditionally phoenix style view handling in it instead of using a host of generators, or not do views at all (maybe just some callback functions for form generation or so).  Maybe when I get some free time again later, but for now I am too busy.  ^.^;</p>
</blockquote>
</aside>
<p>And when everything is entirely untenable? I’ve been looking for an authentication solution for the app I want to build for 2 months now. To me, having to reinvent the wheel by building email confirmation, password reset emails, and all the little things that Devise provides in Rails is untenable. It seems like Coherence is the <strong>only</strong> solution for registration based authentication at the moment, tenable or not.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="41017" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/user-authentication-in-phoenix/118/83">Post #82</a>
	                </div>
	            </div>
              <div id="likers-container-41017" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="41017"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #82"></div>
  </section>
</div>
    <div class="postbit" id="41072" data-post-id="41072">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="AlexMcConnell" data-post="83" data-topic="118">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/alexmcconnell/48/3875_2.png" class="avatar"> AlexMcConnell:</div>
<blockquote>
<p>And when everything is entirely untenable? I’ve been looking for an authentication solution for the app I want to build for 2 months now. To me, having to reinvent the wheel by building email confirmation, password reset emails, and all the little things that Devise provides in Rails is untenable. It seems like Coherence is the only solution for registration based authentication at the moment, tenable or not.</p>
</blockquote>
</aside>
<p>Exactly, those are useful for identity logins (which I am not using), but it would fit perfectly into, say, Ueberauth (which is an authentication framework, entirely pluggable, and coherence would fit inside it quite well).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="41072" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/user-authentication-in-phoenix/118/84">Post #83</a>
	                </div>
	            </div>
              <div id="likers-container-41072" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="41072"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #83"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/118/load_more?page=9">Load more posts (23 remaining)</a>
</div></template></turbo-stream>