Delete Tokens and Authorizations on password change
Closes: https://git.pleroma.social/pleroma/pleroma/issues/320
This commit is contained in:
parent
117e005409
commit
eacab0fb05
5 changed files with 77 additions and 2 deletions
|
|
@ -55,4 +55,26 @@ defmodule Pleroma.Web.OAuth.AuthorizationTest do
|
|||
|
||||
assert {:error, "token expired"} == Authorization.use_token(expired_auth)
|
||||
end
|
||||
|
||||
test "delete authorizations" do
|
||||
{:ok, app} =
|
||||
Repo.insert(
|
||||
App.register_changeset(%App{}, %{
|
||||
client_name: "client",
|
||||
scopes: "scope",
|
||||
redirect_uris: "url"
|
||||
})
|
||||
)
|
||||
|
||||
user = insert(:user)
|
||||
|
||||
{:ok, auth} = Authorization.create_authorization(app, user)
|
||||
{:ok, auth} = Authorization.use_token(auth)
|
||||
|
||||
{auths, _} = Authorization.delete_user_authorizations(user)
|
||||
|
||||
{_, invalid} = Authorization.use_token(auth)
|
||||
|
||||
assert auth != invalid
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -29,4 +29,36 @@ defmodule Pleroma.Web.OAuth.TokenTest do
|
|||
auth = Repo.get(Authorization, auth.id)
|
||||
{:error, "already used"} = Token.exchange_token(app, auth)
|
||||
end
|
||||
|
||||
test "deletes all tokens of a user" do
|
||||
{:ok, app1} =
|
||||
Repo.insert(
|
||||
App.register_changeset(%App{}, %{
|
||||
client_name: "client1",
|
||||
scopes: "scope",
|
||||
redirect_uris: "url"
|
||||
})
|
||||
)
|
||||
|
||||
{:ok, app2} =
|
||||
Repo.insert(
|
||||
App.register_changeset(%App{}, %{
|
||||
client_name: "client2",
|
||||
scopes: "scope",
|
||||
redirect_uris: "url"
|
||||
})
|
||||
)
|
||||
|
||||
user = insert(:user)
|
||||
|
||||
{:ok, auth1} = Authorization.create_authorization(app1, user)
|
||||
{:ok, auth2} = Authorization.create_authorization(app2, user)
|
||||
|
||||
{:ok, token1} = Token.exchange_token(app1, auth1)
|
||||
{:ok, token2} = Token.exchange_token(app2, auth2)
|
||||
|
||||
{tokens, _} = Token.delete_user_tokens(user)
|
||||
|
||||
assert tokens == 2
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue