Предательство дочери: как потеря квартиры стала началом новой жизни в Подмосковье
Наталья Петровна, сжимая два потрепанных чемодана, стояла на пороге квартиры своей дочери Елены в шумной Москве. Остальные вещи Елена велела выкинуть, заявив, что старым вещам не место в их новом быту. Наталью Петровну поселили на раскладушке в тесной детской. «Мама, не переживай, это ненадолго!» — успокаивала Елена с фальшивой заботой. «Мы продали твою квартиру, скоро купим новую. Может, даже мужа себе здесь найдешь!» Прошло два месяца тревожного ожидания. «Леночка, как там с квартирой?» — робко спросила Наталья Петровна, чувствуя, как сердце сжимается от дурного предчувствия. «Мама, случилось вот что… Денис, мой муж, вложил твои деньги в бизнес», — ответила дочь, отводя глаза. Наталья Петровна опустилась на кровать, будто земля ушла из-под ног.
В своей скромной однушке в тихом подмосковном городке Наталья Петровна прожила всю жизнь. Сначала с мужем и дочкой, а после его смерти — одна. Елена давно вышла замуж и уехала в столицу, оставив мать в городке, где время будто замерло. Но Наталья Петровна не унывала. На пенсии она наконец занялась любимым делом: гуляла в сквере, пила чай с подругами, вязала, а недавно увлеклась созданием свечей. Ее маленькие шедевры — свечи в форме цветов и зверей — радовали всех, кто их видел.
«Мам, тебе больше делать нечего?» — пренебрежительно бросила Елена, узнав о мамином увлечении. «Свечки какие-то лепишь. Лучше бы внукам на подарки деньги дала, больше толку было бы».
Наталья Петровна лишь вздохнула. Она не ждала, что дочь поймет ее хобби, но хотя бы не стала насмехаться. «Леночка, не волнуйся. Приедете — свожу детей в магазин, уже отложила», — оправдывалась она, чувствуя себя виноватой за свою «ерунду».
«Да, приедем. Через неделю, у Дениса отпуск», — объявила Елена.
Наталья Петровна вздрогнула. Семья дочери приезжала редко, раз-два в год, и каждый визит приносил больше хлопот, чем радости. В ее маленькой квартире комфортно было только ей одной. Но Елена с Денисом этого не понимали. Они занимали комнату, ее любимый диван, до ночи смотрели телевизор и спорили. Внуки, Саша и Миша, спали на кухне на матрасе, а Наталья Петровна ютилась в прихожей. Гости не покупали продукты, а Елена даже не думала помогать по хозяйству. Неу# Authentication
**Authentication** is the process of determinining whether someone or something is, in fact, who or what it is declared to be.
The Authentication service can be used to register and log in users using either a username/password combination, phone numbers or a third-party OAuth provider.
—
## Email/Password Authentication
### SignUp
«`dart
Account account = await client.account
.create(
userId: ID.unique(),
email: ’email@example.com’,
password: ‘password’,
name: ‘Name’,
);
«`
### Login
«`dart
Account account = await client.account
.createEmailSession(
email: ’email@example.com’,
password: ‘password’,
);
«`
### OAuth Login
For OAuth login, first add your provider from the Appwrite console and then call:
«`dart
// for flutter web
final session = await client.account.createOAuth2Session(
provider: ‘google’, // any provider you have added
);
// for other platforms
final session = await client.account
.createOAuth2Session(
provider: ‘google’, // any provider you have added.
);
«`
#### Add a callback URL under Appwrite OAuth provider settings
In order to capture the OAuth login result, you need add the following to the `web/index.html` file inside the `
` tag.«`html
«`
### Magic URL
To login or register the user via a Magic URL, call:
«`dart
final token = await client.account
.createMagicURLSession(
userId: ID.unique(),
email: ’email@example.com’,
);
«`
The above endpoint will create a token to allow the user to login. Use the generated token from the `token` variable to build a URL for your user to login.
«`text
https://example.com/magicurl/login?userId=[USER_ID]&secret=[SECRET]
«`
### Email Verification
«`dart
final token = await client.account
.createVerification(
url: ‘https://example.com’,
);
«`
### Password Reset
«`dart
final token = await client.account
.createRecovery(
email: ’email@example.com’,
url: ‘https://example.com’,
);
«`
The above endpoint will create a token to allow the user to reset their password. Use the generated token from the `token` variable to build a URL for your user to complete the reset process.
«`text
https://example.com/auth/resetpassword?userId=[USER_ID]&secret=[SECRET]
«`
### Phone Authentication
«`dart
final token = await client.account
.createPhoneSession(
userId: ID.unique(),
phone: ‘+12065550100’,
);
final session = await client.account
.createPhoneSession(
userId: ID.unique(),
phone: ‘+12065550100’,
);
final session = await client.account
.updatePhoneSession(
userId: ID.unique(),
secret: ‘[SECRET]’,
);
«`
### Current Session
«`dart
Account account = await client.account.get();
«`
### Delete Current Session
«`dart
await client.account.deleteSession(sessionId: ‘current’);
«`